用途:在获得授权的渗透测试中高效使用 ffuf(Fuzz Faster U Fool)进行 Web 模糊测试。适用场景包括目录/文件/子域发现、API 端点与参数模糊、POST 数据模糊、带认证的原始 HTTP 请求模糊、分析 ffuf JSON 输出中的异常,以及构建模糊策略(字典选择、过滤、限速)和 IDOR 测试。不适用场景:目标不在授权范围、更适合被动侦察、生产系统未配置限速、需要完整漏洞扫描器,或需要多步交互的逻辑缺陷测试。
前置条件:需先安装 ffuf,命令为 brew install ffuf(macOS)或 go install github.com/ffuf/ffuf/v2@latest。
核心用法:FUZZ 关键字可置于 URL 路径、请求头或 POST 正文中;多个位置可用自定义关键字并配合 -mode pitchfork。建议始终使用 -ac 自动校准以过滤重复误报(多主机可用 -ach,自定义校准字符串用 -acc),并用 -o results.json 保存输出。生产目标需限速:生产 stealth 用 -rate 2 -t 10,生产正常用 -rate 10 -t 20,预发/开发用 -rate 50 -t 40,本地实验可 -t 100。认证模糊推荐用 --request req.txt 原始请求文件,优于拼接 -H 与 -b。
命令示例:目录发现使用 ffuf -w /opt/SecLists/Discovery/Web-Content/raft-large-directories.txt -u https://target.com/FUZZ -e .php,.html,.txt,.bak -ac -c -v -o results.json;子域枚举将 FUZZ 置于主机名;API 端点发现用 -mc 200,201 过滤状态码;IDOR 测试可用 --request req.txt -w <(seq 1 10000) -ac -mc 200。
认证工作流:代理无法自行获取凭据,需用户提供原始 HTTP 请求文件、浏览器 DevTools 的 curl 命令(可转换为 req.txt),或单项凭据(Bearer token、会话 Cookie、API key);不得编造或猜测令牌。
结果分析:保存 JSON 后关注异常状态码、大小离群值、URL 中 admin/api/backup/config/.git/.env 等关键词、响应时间异常及后续目标;自动校准不足时用 -fs 按大小、-fc 按状态码过滤。执行任何扫描前必须先确认书面授权,不清楚时应询问。限制:资料未提供官方定价、平台支持范围及具体性能数据。