靶场内容
本实验室有一个简单的反射型 XSS漏洞。该站点阻止了常见标签,但遗漏了一些 SVG 标签和事件。
要解决实验室问题,请执行调用该函数的跨站点脚本攻击alert()。
漏洞解析
- 注入一些测试脚本在search框中
<img src=1 one rror=alert(1)>
- 发现不允许
- 使用您的浏览器通过 Burp Suite 代理流量,使用实验室中的搜索功能。将结果请求发送到 Burp Intruder。
- 在 Burp Intruder 中,在 Positions 选项卡中,单击“Clear §”。
- 在请求模板中,将搜索词的值替换为: <>
- 将光标放在尖括号之间,然后单击“添加 §”两次以创建有效载荷位置。搜索词的值现在应该是:<§§>
- 访问https://portswigger.net/web-security/cross-site-scripting/cheat-sheet并单击“将标签复制到剪贴板”。
- 在 Burp Intruder 的 Payloads 选项卡中,单击“Paste”将标签列表粘贴到有效负载列表中。点击“开始攻击”。
- 攻击完成后,查看结果。观察到所有的有效载荷造成的HTTP响应400,除了使用的那些
<svg>,<animatetransform>,<title>,和<image>
标签,其接收到的200响应。
- 返回 Burp Intruder 中的 Positions 选项卡并将搜索词替换为:
<svg><animatetransform%20=1>
- 将光标放在=字符之前,然后单击“添加 §”两次以创建有效载荷位置。搜索词的值现在应该是:
<svg><animatetransform%20§§=1>
- 访问XSS 备忘单并单击“将事件复制到剪贴板”。
- 在 Burp Intruder 中,在 Payloads 选项卡中,单击“Clear”以删除以前的 Payload。然后单击“粘贴”将属性列表粘贴到有效负载列表中。点击“开始攻击”。
- 攻击完成后,查看结果。请注意,所有负载都会导致 HTTP 400 响应,但onbegin负载除外,它会导致 200 响应。
- 复制URL代码到URL中 :
/?search=%22%3E%3Csvg%3E%3Canimatetransform%20onbegin=alert(1)%3E