Lab: Reflected XSS into HTML context with most tags and attributes blocked:将 XSS 反射到 HTML 上下文中,大多数标签和属性被阻止

靶场内容

本实验室在搜索功能中包含一个反射型 XSS漏洞,但使用 Web 应用程序防火墙 (WAF) 来防御常见的 XSS 向量。

要解决实验室问题,请执行绕过 WAF 并调用该函数的跨站点脚本攻击print()。

注意

注意
您的解决方案不得要求任何用户交互。手动导致print()在您自己的浏览器中调用不会解决实验室问题。您的解决方案不得要求任何用户交互。手动导致print()在您自己的浏览器中调用不会解决实验室问题。

解决方法

  • 这题有个强过滤器的存在,非常麻烦
  • 打开页面,在搜索框内搜索:<img src=1 onerror=print()>
  • 发现返回 Invalid,报错,非法操作。
  • 所以判定这里面可能存在过滤器过滤掉了一些标签
  • 将搜索的报文/?search=发送到intruder中
  • 去除掉搜索内容,添加<$$>为payload:
    image
  • 打开字典https://portswigger.net/web-security/cross-site-scripting/cheat-sheet
  • 在里面点击 复制tags ,然后放到payload的字典里。
  • 经过爆破,发现body标签是200,其他都是400代表不合法
    image
  • 返回 Burp Intruder 中的 Positions ,单击“添加 §”两次,以创建payloads。
  • 搜索词的值现在应如下所示:<body%20§§=1>
    image
  • 访问刚才的字典网站,将event复制到剪贴板上,放入payloads里面,开始攻击
  • 然后发现,onresize事件响应是200,其他都是400
    image
  • 现在知道body标签和onresize事件都是不经过过滤的
  • 打开漏洞利用服务器
  • 在body输入脚本代码:
<iframe src="https://your-lab-id.web-security-academy.net/?search=%22%3E%3Cbody%20onresize=print()%3E" onload=this.style.width='100px'>

image
image

  • 单击“store”和“deliver exploit to victim”。
  • 靶场解决
posted @ 2021-08-25 09:22  Zeker62  阅读(213)  评论(0编辑  收藏  举报