SuperAPI AI 工具集

ffuf-fuzz

安全与审计

查看项目

更新于 10-16 04:39

技能介绍

ffuf(Fuzz Faster U Fool)是最灵活的 Web 模糊测试工具。其核心概念是用 FUZZ 关键字标记需要替换的位置,通过字典对请求中的该位置进行批量替换并发送,从而发现隐藏内容。本技能为 ffuf 的完整使用参考,按用途分为若干阶段。

一、目录/文件发现 最常见用法是对 URL 路径位置进行 Fuzz,例如基础目录扫描:ffuf -u http://target/FUZZ -w /usr/share/seclists/Discovery/Web-Content/common.txt。可配合 -e 指定扩展名(如 .php,.html,.txt,.bak,.zip),或使用 -recursion 与 -recursion-depth 2 进行递归扫描,发现目录后继续深入。字典选择上,常见推荐包括:快速扫描用 Discovery/Web-Content/common.txt(4660 条)、中等扫描用 directory-list-2.3-small.txt(87k)、深度扫描用 directory-list-2.3-medium.txt(220k)、备份文件用 common-and-backup.txt、API 路径用 api/api-endpoints.txt,CTF 常见字典位于 /pentest/AboutSecurity/Dic/web/ctf/。

二、参数 Fuzz 用于发现隐藏参数或对参数值进行测试,支持 GET、POST 和 JSON 形式。GET 参数发现示例:ffuf -u 'http://target/page.php?FUZZ=test' -w burp-parameter-names.txt -fs 4242;POST 参数发现需配合 -X POST、-d 'FUZZ=test' 以及 -H 'Content-Type: application/x-www-form-urlencoded';JSON 参数 Fuzz 则将 -d 设为 '{"FUZZ":"test"}' 并指定 application/json 头。CTF 专用参数字典为 /pentest/AboutSecurity/Dic/web/ctf/param.txt。

三、虚拟主机 / 子域名枚举 通过 Host 头替换 FUZZ 实现,例如:ffuf -u http://target/ -H 'Host: FUZZ.target.com' -w subdomains-top1million-5000.txt -fs 4242,用 -fs 过滤默认页面大小。

四、多位置 Fuzz ffuf 支持多个 FUZZ 关键字,可用自定义名称区分,例如用户名+密码爆破用 -d 'username=HFUZZ&password=WFUZZ' 配合 -w users.txt:HFUZZ -w passwords.txt:WFUZZ;目录+扩展名组合用 W1FUZZ 与 W2FUZZ。Fuzz 模式有三种:clusterbomb(所有组合,默认,适用于用户名×密码)、pitchfork(一一对应,适用于已知配对凭据)、sniper(单字典逐位置)。

五、过滤与匹配 ffuf 默认显示所有响应,需要过滤噪音。过滤参数包括 -fc(状态码)、-fs(响应大小)、-fw(词数)、-fl(行数)、-fr(正则)、-ft(响应时间);匹配参数包括 -mc(状态码)、-ms(大小)、-mw(词数)、-mr(正则)。技巧是先不加过滤跑一次,观察默认响应大小,再用 -fs 过滤。

六、常用选项 包括 -t 线程数(默认 40)、-p 延迟(秒)、-rate 请求速率、-b Cookie、-H 自定义头、-x 代理(含 socks5)、-o 与 -of 输出文件(json/csv/html)、-ac 自动校准、-r 跟随重定向、-timeout 超时、-s 静默模式。

七、实战场景与注意事项 技能给出快速目录扫描、扫 PHP 文件、找隐藏参数、LFI 参数 Fuzz、子域名枚举、暴力登录、API 端点发现、备份文件搜索等场景的命令速查。注意事项包括:-ac 自动校准可自动检测并过滤默认响应,减少手动设置 -fs;ffuf 默认 40 线程对弱目标可能过快导致 429 或封 IP,可降为 -t 10 -p 0.1;字典路径通常为 /usr/share/seclists/ 与 /pentest/AboutSecurity/Dic/;POST Fuzz 必须指定 Content-Type 头;多位置 Fuzz 默认为 clusterbomb(笛卡尔积),大字典时组合数会爆炸,需注意字典大小。