目录
一、测试环境
1、系统环境
2、使用工具/软件
二、测试目的
三、操作过程
1、注入点寻找
2、使用hackbar进行payload测试
3、绕过结果
四、源代码分析
五、结论
一、测试环境
1、系统环境
渗透机:本机(127.0.0.1)
靶 机:本机(127.0.0.1)
2、使用工具/软件
火狐浏览器的hackbar插件,版本:2.3.1
测试网址:http://127.0.0.1/xss-labs-master/level2.php
二、测试目的
实现基于get型的xss攻击,构造payload绕过检测
三、操作过程
1、注入点寻找
页面中有一个输入框,输入一些参数查看注入点在哪,这关依然是在url中
2、使用hackbar进行payload测试
尝试注入,发现这关不行了,而且还没过滤掉输入的内容
查看网页源代码发现标签在value中,不会生效
尝试闭合value,在script标签前面添加 ”>,即可绕过
3、绕过结果
"><script>alert('xss')</script>
四、源代码分析
这关也是重写了alert()触发进入下一关
第16行是不显示报错
18行对获取到的参数进行了过滤,将html特殊字符转化为实体,防止浏览器解析为HTML标签
但是,第20行获取的参数却没有进行过滤,在这里可以构成payload,只需要闭合value即可 “>
五、结论
调用用户输入的参数都需要进行过滤,不能一个过滤一个不过滤,这样还会有漏洞存在。