Pikachu靶场:反射型XSS(post)
实验环境以及工具
Firefox浏览器、Burp Suite、Pikachu靶场
实验原理
●反射型
交互的数据一般不会被存在在数据库里面,一次性,所见即所得,一般出现在查询类页面等。
形成XSS漏洞的主要原因是程序对输入和输出的控制不够严格,导致“精心构造”的脚本输入后,在输到前端时被浏览器当作有效代码解析执行从而产生危害。
跨站脚本漏洞测试流程
1.在目标站点上找到输入点,比如查询接口,留言板等;
2.输入一组“特殊字符+唯一识别字符”,点击提交后,查看返回的源码,是否有做对应的处理;
3.通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行js的条件(构造闭合);
4.提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在XSS漏洞;
具体操作
1.在目标站点上找到输入点,比如查询接口,留言板等;
2.输入一组“特殊字符+唯一识别字符”,点击提交后,查看返回的源码,是否有做对应的处理;2.输入一组“特殊字符+唯一识别字符”,点击提交后,查看返回的源码,是否有做对应的处理;
3.通过搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造执行js的条件(构造闭合);
可见我们输入的字符串直接嵌入到了p标签中,已知我们是可以在p标签里写js代码的,所以我们可以尝试写入一段特制的js代码。
4.提交构造的脚本代码(以及各种绕过姿势),看是否可以成功执行,如果成功执行则说明存在XSS漏洞;
写入js代码,意图弹出一个框,内容为World。
我们发现在上方的URL中没有我们写入的JS代码,那么就不能用之前的方法进行攻击。
漏洞利用
将XSS后台相关设置配置好,如受害者ip,攻击者对应ip。
将下面这个用来攻击的网址发给受害者点击。
http://127.0.0.1/Pikachu/pkxss/xcookie/post.html
这时登录XSS后台点击cookie收集就可以看到收集的cookie
总结
XSS是利用网站的输入接口进行攻击。在前期通过各种特殊字符进行试探后,若是符合攻击的条件,编写恶意的网址获取cookie,然后将恶意的网址发送给受害者,即可进行攻击。