XSS Fuzzer 是一个用纯 HTML/JavaScript/CSS 编写的简单应用程序,它基于用户定义的向量生成 XSS 载荷,这些向量使用多个占位符,这些占位符会被模糊测试列表替换。
它提供了将载荷生成为纯文本或在 iframe 内执行的可能性。在 iframe 内,可以从浏览器向任意 URL 发送 GET 或 POST 请求,并使用生成的载荷。
XSS Fuzzer 是一个通用工具,可用于多种目的,包括:
为了进行模糊测试,需要创建占位符,例如:
img svg 的 [TAG] 占位符。onerror onload 的 [EVENT] 占位符。src value 的 [ATTR] 占位符。<[TAG] [ATTR]=Something [EVENT]=[SAVE_PAYLOAD] />
[SAVE_PAYLOAD] 占位符将被替换为 JavaScript 代码,例如 alert(unescape('[PAYLOAD]'));。
当 XSS 载荷成功执行时,此代码被触发。
对于上述模糊测试列表和载荷,结果如下:
<svg src=Something onerror=alert(unescape('%3Csvg%20src%3DSomething%20onerror%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg value=Something onerror=alert(unescape('%3Csvg%20value%3DSomething%20onerror%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg src=Something onload=alert(unescape('%3Csvg%20src%3DSomething%20onload%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
<svg value=Something onload=alert(unescape('%3Csvg%20value%3DSomething%20onload%3D%5BSAVE_PAYLOAD%5D%20/%3E')); />
当在 Mozilla Firefox 等浏览器中执行时,它将弹出已执行载荷的警告框:
<svg src=Something onload=[SAVE_PAYLOAD] />
<svg value=Something onload=[SAVE_PAYLOAD] />
可以使用易受 XSS 攻击的页面进行不同测试,例如绕过浏览器 XSS 审查器。该页面可以接收名为 payload 的 GET 或 POST 参数,并直接显示其未转义的值。
在线版本可在 https://xssfuzzer.com 找到
该应用程序处于测试阶段,因此可能存在错误。如果您想报告错误或提供建议,可以使用 GitHub 仓库或发送电子邮件至 contact [a] xssfuzzer.com。