XSS入门-复现与剖析

Posted 1智慧E生活

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XSS入门-复现与剖析相关的知识,希望对你有一定的参考价值。

XSS入门-复现与剖析


01

XSS入门-复现与剖析


概述:

通过本文小伙伴们从phpstudy开始了解搭建


web的流程,并自己动手写html、php等熟悉


web的基础开发,通过构造xss页面,来了解


xss产生的机理,并且结合实验步骤四了解xss


其他情况下的绕过方法。


1     预备知识

1.       关于xss的一些基础知识

XSS又称CSS,全称Cross SiteScript,跨站脚


本攻击,是Web程序中常见的漏洞,XSS属于


被动式且用于客户端的攻击方式,所以容易被


忽略其危害性。其原理是攻击者向有XSS漏洞


的网站中输入(传入)恶意的HTML代码,当其它


用户浏览该网站时,这段HTML代码会自动执


行,从而达到攻击的目的。如,盗取用户


Cookie、破坏页面结构、重定向到其它网站


等。对本节课使用到的winhex的简单描述


XSS攻击类似于sql注入攻击,攻击之前,我们


先找到一个存在XSS漏洞的网站,XSS漏洞分


为两种,一种是DOM Based XSS漏洞,另一


种是Stored XSS漏洞。理论上,所有可输入


的地方没有对输入数据进行处理的话,都会存


在XSS漏洞,漏洞的危害取决于攻击代码的威


力,攻击代码也不局限于script。


2phpstudy


phpStudy是一个PHP调试环境的程序集成包。


该程序包集成最新的Apache+PHP+MySQ


L+phpMyAdmin+ZendOptimizer,一次性安装


,无须配置即可使用,是非常方便、好用的


PHP调试环境·该程序不仅包括PHP调试环境


,还包括了开发工具、开发手册等




工具:

phpstudy,firefox



1     步骤本实验主要通过phpstudy搭建web页


面,通过notepad编辑php、html,构造能够触


发xss漏洞的页面。并在构建完成之后使用使用


测试xss的语句<script>alert('xss')</script>进


行测试。在实验四中将会涉及xss复杂场景下的


利用。我们的操作分为4个部分:1.使用


phpstudy搭建web,并构造xss1.php进行xss场


景1的实验2.构造xss2.php进行xss场景2的实


验,并在过程中引入闭合标签等概念并加以利


用3.复杂情况下xss漏洞的利用以及引入事件


触发、编码绕过等概念并加以绕过4.其他常见


绕过xss过滤技巧实验一任务描述:使用


phpstudy搭建web,并构造xss1.php进行xss场


景1的实验1.       启动phpstudy

XSS入门-复现与剖析

点击“其他选项菜单”—》“网站根目录”


XSS入门-复现与剖析


在目录下新建1.php输入:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>

<title>XSS场景1</title>

</head>

<body>

<form action="" method="get">

<input type="text" name="xss_input">

<input type="submit">

</form>

<hr>

<?php

$xss=$_GET['xss_input'];

echo '您输入的字符为<br>'.$xss;

?>

</body>

</html>



XSS入门-复现与剖析


打开浏览器,输入127.0.0.1/1.php访问


XSS入门-复现与剖析


在输入框中输入1点击提交查询

XSS入门-复现与剖析

右键查看源代码,进行查看


XSS入门-复现与剖析

在第12行,可以看到我们输入的内容在<br>和</body>中原样输出于是我们猜测输入<script>alert('xss')</script>不会被过滤我们在输入框中输入<script>alert('xss')</script>,点击“提交查询”


XSS入门-复现与剖析

成功弹框,利用了xss的漏洞 实验任务二任务描述:构造xss2.php进行xss场景2的实验,并在过程中引入编码绕过、闭合标签等概念并加以利用操作:首先同样在网站根目录下新建2.php,输入以下内容:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>

<title>xss场景2</title>

</head>

<body>

<center>

<h6>hint:观察value属性</h6>

<form action="" method="get">

<h6>请输入字符串</h6>

<input type="text" name="xss_input_value" value="输入"><br>

<input type="submit">

</form>

<hr>

<?php

$xss=$_GET['xss_input_value'];

if(isset($xss)){

        echo '<input type="text" value="'.$xss.'">';

}

?>

</center>

</body>

</html>



XSS入门-复现与剖析

打开浏览器输入127.0.0.1/2.php,页面如图


XSS入门-复现与剖析

在输入框中输入1,点击“提交查询” 可以看到在下面的框中出现了1

XSS入门-复现与剖析

XSS入门-复现与剖析

接下来我们输入<script>alert('xss')</script>点击“提交查询”

XSS入门-复现与剖析

查看源代码

XSS入门-复现与剖析

结合hint给的提示“观察value属性”发现我们的输入被当作value的值进行处理了,这种情况下,我们通常会使用闭合语句的方法来进行处理。我们使用”>来闭合前面的语句,之后再使用<script>alert(‘xss’)</script>,即输入”><script>alert(‘xss’)</script>,点击“提交查询”,

XSS入门-复现与剖析

即可弹窗

XSS入门-复现与剖析

实验三任务描述:之前我们的xss都是在使用标签进行攻击的,难道我们就离不开标签了吗?NO,实战环境下我们还可以利用“事件”,在实验二的环境中我们还可以考虑利用on“事件”比如"onclick="alert(‘xss’)前面的引号还是用来闭合语句,关键在于onclick我们输入后点击提交

XSS入门-复现与剖析

咦?怎么没反应呢?因为onclick都让你click啦,当然要点击才有反应嘛,点击下面的那个框

XSS入门-复现与剖析

我们心情高兴的话换别的事件当然也行,比如onmouselove输入”onmousemove=”alert(‘xss’),提交后鼠标移到下方的框上即可触发xss


变形1很多情况下我们会使用编码绕过某些页面对xss字符的过滤,我们利用实验二的环境可以试一下最常见的html编码使用"onclick="alert('xss')代替"font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"">效果是一样的,因为];就是html编码

XSS入门-复现与剖析

变形2有时候某些环境下我们无法利用特定的标签,这时候我们还有种思路就是自己构造一个比script优先级高的标签,比如常常使用的textarea,我们知道标签的使用方法有两种一种是</textarea><script>alert('xss')</script>,一种是<textarea><script>alert('xss')</script></textarea>,两种都是可以进行xss的,不过使用前别忘了使用闭合前面的语句

XSS入门-复现与剖析

实验四敲黑板!敲黑板!敲黑板!常见的绕过xss过滤规则还有一下几种方式,不过在我们现在的试验环境下不适用,用了这些技巧反而不能有效利用及其简单的xss。这也提醒我们,要具体情况具体分析,不能一上来就各种奇技淫巧一起上,结果都无法利用,最后却发现人家根本就没有设置过滤规则。技巧1


可以使用firefoxhackbar将敏感字符转为ascii 假设我们要转换的是alert(‘xss’),输入后点击确

XSS入门-复现与剖析

将蓝色标注的内容放入<script></script>即可技巧2使用hex编码,即16进制转换进行绕过比如<script>alert(‘xss’)</script>转换为%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%22%78%73%73%22%29%3b%3c%2f%73%63%72%69%70%74%3e

XSS入门-复现与剖析

XSS入门-复现与剖析

XSS入门-复现与剖析




02


如何了解更多内容

XSS入门-复现与剖析

以上是关于XSS入门-复现与剖析的主要内容,如果未能解决你的问题,请参考以下文章

漏洞复现WordPress插件Quizlord 2.0 XSS漏洞复现与分析

Xmind XSS导致RCE漏洞复现

xray与awvs联动——详细说明加举例复现xss漏洞

XSS的原理分析与解剖

极致CMS两处漏洞复现/存储xss/文件上传Getshell

复现awvs———XSS(反射型)漏洞