靶场内容
本实验室在搜索功能中包含一个反射型 XSS漏洞,但使用 Web 应用程序防火墙 (WAF) 来防御常见的 XSS 向量。
要解决实验室问题,请执行绕过 WAF 并调用该函数的跨站点脚本攻击print()。
注意
注意
您的解决方案不得要求任何用户交互。手动导致print()在您自己的浏览器中调用不会解决实验室问题。您的解决方案不得要求任何用户交互。手动导致print()在您自己的浏览器中调用不会解决实验室问题。
解决方法
- 这题有个强过滤器的存在,非常麻烦
- 打开页面,在搜索框内搜索:
<img src=1 one rror=print()>
- 发现返回 Invalid,报错,非法操作。
- 所以判定这里面可能存在过滤器过滤掉了一些标签
- 将搜索的报文
/?search=
发送到intruder中 - 去除掉搜索内容,添加
<$$>
为payload:
- 打开字典https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
- 在里面点击 复制tags ,然后放到payload的字典里。
- 经过爆破,发现body标签是200,其他都是400代表不合法
- 返回 Burp Intruder 中的 Positions ,单击“添加 §”两次,以创建payloads。
- 搜索词的值现在应如下所示:
<body%20§§=1>
- 访问刚才的字典网站,将event复制到剪贴板上,放入payloads里面,开始攻击
- 然后发现,onresize事件响应是200,其他都是400
- 现在知道body标签和onresize事件都是不经过过滤的
- 打开漏洞利用服务器
- 在body输入脚本代码:
<iframe src="https://your-lab-id.web-security-academy.net/?search=%22%3E%3Cbody%20onresize=print()%3E" onl oad=this.style.width='100px'>
- 单击“store”和“deliver exploit to victim”。
- 靶场解决