本文由甲爪cpa联盟(www.jiazhua.com)整理编辑!转载请注明!
环境是PHPWAMP,firefox(火狐没有xss过滤器)。环境和dvwa如果下载不方便可以评论留邮箱,看到会分享到邮箱的。

1,简介。2,低级代码利用。3,中级代码利用。4,高级代码利用。5,终极代码学习。

1,简介

DVWA是攻击演练系统。XSS使自己脚本在网站运行,造成一些列的危险后果。之前说的反射型和存储型的主要区别在于,存储型的执行脚本会存储在数据库,长期有效。

2,低级代码利用

DVWA Security调到low。

代码位置在dvwa/vulnerabilities/xss_s/source/low.php 内容如下图:

clipboard.png

代码解释:trim是去除掉用户输入内容前后的空格。stripslashes是去除反斜杠,两个只会去除一个。mysqli_real_escap_string过滤掉内容中特殊字符,像x00,n,r,,',",x1a等,来预防数据库攻击。

这段代码并没有对xss进行过滤和检查,name栏为例,他对输入进行限制,我们右键审查元素改下大小即可,maxlength属性原来是10,随意改大点,如图:

clipboard.png

输入<script>alert(/a/)</script>执行结果如下:

clipboard.png

3,中级代码利用

DVWA Security调到medium。

代码位置在/dvwa/vulnerabilities/xss_s/source/medium.php 如下图:

clipboard.png

trim过滤首尾空格。strip_tags去除HTML,XML,PHP标签。htmlspecialchars把<,>等字符转换为实体。如果<script>存在会被str_replace删除。

绕过方法有两个,和之前说的反射型XSS一样,双写和大小写混合。

①双写,name栏输入<scr<script>ipt>alert(/aa/)</script>,执行结果如下:

clipboard.png

②大小写混合,name栏输入<ScrIPT>alert(/aaa/)</script>,执行结果如下:

clipboard.png

只要打开这个页面,就会被弹框,因为存储型xss将脚本添加到了数据库,只要打开页面,就会触发。

4,高级代码利用
DVWA Security把难度调到high。

代码位置在dvwa/vulnerabilities/xss_s/source/high.php 如下图:

clipboard.png

这段代码和中级的只是多了一个正则验证,原来的混写和大小写失效了。而htmlspecialchars只是对message信息做了验证,并不能阻止name的xss漏洞。和昨天说的反射型xss机制一样,可以看下昨天的反射xss,这里再加深下印象,老规矩,用img的onerror,输入<img src=0 onerror=alert(/aaaa/) />,结果如图:

clipboard.png

5,终极代码学习

DVWA Security调到impossible。

代码位置:dvwa/vulnerabilities/xss_s/source/impossible.php 如图:
token的验证。机制和昨天说的反射型xss一模一样。如果大家对于终极代码有好的xss想法,欢迎留言讨论。
本文由甲爪[cpa广告联盟]1整理编辑!转载请注明!


甲爪联盟
62 声望5 粉丝

甲爪广告联盟www.jiazhua.com|高价CPA广告联盟|APP推广|甲爪联盟-提供专业的网络广告营销服务,提供站长各类APP、CPA、广告,佣金单价高,结算信誉,是站长投放广告的最佳选择。