ffuf
FFUF 是一款用 Go 语言编写的快速、灵活的 Web 模糊测试工具,广泛用于渗透测试和漏洞挖掘。它通过自动化发送大量请求来探测 Web 应用中的隐藏路径、参数漏洞、子域名等,是安全研究人员和开发者的常用工具之一。
主要功能
-
目录/文件枚举
通过字典爆破发现隐藏的目录或文件(如后台路径、配置文件等)。ffuf -w wordlist.txt -u http://target.com/FUZZ
-
参数模糊测试
测试 GET/POST 参数(如 SQL 注入、XSS 等漏洞点)。ffuf -w params.txt -u http://target.com/page?param=FUZZ
-
子域名发现
通过 DNS 枚举或暴力破解寻找子域名。ffuf -w subdomains.txt -u https://FUZZ.target.com
-
多协议支持
支持 HTTP/HTTPS,并可通过插件扩展其他协议。
核心优势
- 速度快:Go 语言的高并发特性使其性能优于同类工具(如 DirBuster)。
- 灵活配置:支持自定义请求头、Cookie、代理、延迟等参数。
- 过滤与匹配:根据响应状态码、内容大小、关键词等过滤无效结果。
- 多字典输入:可同时加载多个字典,灵活组合测试载荷。
常用选项
-w
:指定字典文件(FUZZ
是占位符)。-u
:目标 URL。-H
:自定义请求头(如-H "User-Agent: FFUF"
)。-mc
:匹配指定 HTTP 状态码(如-mc 200,301
)。-fs
:过滤响应大小(如-fs 1024
排除大小为 1024 字节的响应)。-e
:指定扩展名(Extensions)-c
:彩色输出(Colorize)-s
: 屏蔽实时进度信息的输出
高级用法
- 多字典组合:使用
-w
指定多个字典,例如FUZZ1:FUZZ2
。 - 递归扫描:发现目录后自动深入扫描(
-recursion
选项)。 - 速率控制:通过
-rate
限制每秒请求数,避免触发防护机制。
典型场景
- 发现 Web 服务器隐藏的敏感目录(如
/admin
、/backup
)。 - 测试 API 接口或表单的参数安全性。
- 快速枚举企业资产的子域名。
FFUF 的简洁性和高效性使其成为 Web 安全测试中的瑞士军刀,适合从简单扫描到复杂漏洞挖掘的多场景需求。建议结合合法授权使用,避免滥用。