Dalfox 是一款基于 DOM(文档对象模型)解析器的快速参数分析和跨站脚本(XSS)扫描工具。除了 XSS 扫描,Dalfox 还具备一些额外的功能,可以测试 SQL 注入、服务端模板注入(SSTI)以及开放重定向。这是一款基于 Go 语言开发的工具,能够帮我们在目标 Web 应用中发现反射型、存储型和盲打型 XSS。它的基本概念是通过分析参数来寻找潜在的 XSS 漏洞,并利用 DOM 解析器进行验证。
核心功能
- Dalfox 进行参数分析以发现反射参数。
- 它能寻找自由/恶意字符并识别注入点。
- 它执行静态分析,检查 CSP、X-Frame Options 等安全头部的配置。
- 它会对 Payload 进行优化查询,通过抽象化检查注入点,并生成适配的 Payload。
- 它会根据错误的字符特征排除无效的 Payload。
在 Kali Linux 上安装 Dalfox 工具
步骤 1:首先,我们需要使用以下命令更新软件包列表。
sudo apt update
步骤 2:接着,使用以下命令在 Kali Linux 上安装 snapd。
sudo apt install snapd
步骤 3:让我们使用以下命令启用并启动 snapd 和 snapd.apparmor 服务。
systemctl enable --now snapd apparmor
步骤 4: 现在我们可以使用 snapd 安装 Dalfox 了。请运行以下命令。
sudo snap install dalfox
步骤 5: 为了更好地理解该工具,我们可以查看 Dalfox 的帮助页面。
dalfox --help
Dalfox 的实际操作
示例 1:单目标模式
现在,我们已经成功在系统上安装了 Dalfox。接下来,让我们开始实际操作。
> dalfox url http://testphp.vulnweb.com/listproducts.php%5C?cat%5C=123%5C&artist%5C=123%5C&asdf%5C=ff -b https://hahwul.xss.ht/
- 从下面的截图中,我们可以看到检测到了存在漏洞的参数以及相应的 Payload。
- 我们发现了一个 DOM 对象 XSS。Payload 也是由工具自动生成的。
- 现在,让我们复制触发 XSS 的完整地址链接。
> http://testphp.vulnweb.com/listproducts.php?artist=123&asdf=ff&cat=123%22%3E%3Cimg%2Fsrc%2Fonerror%3D.1%7Calert%60%60+class%3Ddalfox%3E
- 将链接地址粘贴到 Web 浏览器中,检查是否会弹出 XSS 提示框。
示例 2:来自文件的多目标模式
- 假设我们在 targets.txt 文件中保存了多个目标 URL。
- 如果在某个目标 URL 上检测到了 XSS,我们可以复制该链接以验证 XSS 弹窗是否会被触发。
- 在浏览器中打开复制的 URL,成功触发 XSS。
示例 3:管道模式
- 我们还可以将 Dalfox 与 assetfinder 和 gau 等工具结合使用,利用管道命令进行扫描。
- 我们在 testphp.vulnweb.com 的某个参数上检测到了 XSS。
通过运行这些命令,我们可以在目标域名中发现各种类型的 XSS 漏洞。