ffuf 的核心功能:
目录/文件发现: 通过暴力破解(使用字典)探测目标网站的隐藏目录或文件,例如:
ffuf -w /path/to/wordlist.txt -u http://target.com/FUZZ
子域名枚举: 通过模糊测试发现目标的子域名,例如:
ffuf -w /path/to/subdomains.txt -u https://FUZZ.target.com
参数模糊测试: 对URL参数、表单字段进行模糊测试,寻找注入点或敏感信息泄露,例如:
ffuf -w /path/to/params.txt -u http://target.com/page?param=FUZZ
内容过滤: 根据响应状态码、内容大小、关键词等过滤结果,例如:
ffuf -w wordlist.txt -u http://target.com/FUZZ -fs 0 # 过滤掉内容大小为0的响应
典型使用场景:
发现隐藏的API端点:
ffuf -w api_words.txt -u http://api.target.com/v1/FUZZ
爆破登录页面:
ffuf -w usernames.txt:USER -w passwords.txt:PASS -X POST -d "username=USER&password=PASS" -u http://target.com/login -fr "Invalid credentials"
查找敏感文件:
ffuf -w common_files.txt -u http://target.com/FUZZ -e .bak,.txt,.sql
基础过滤(状态码/响应大小)
按状态码过滤:只显示特定状态码的结果(如 200
)。
ffuf -w wordlist.txt -u http://target.com/FUZZ -mc 200
按响应大小过滤:排除大小异常的响应(如 -fs 123
)。
ffuf -w wordlist.txt -u http://target.com/FUZZ -fs 123
扩展名自动附加
自动为字典中的条目添加文件扩展名(如 .php
, .html
)。
ffuf -w wordlist.txt -u http://target.com/FUZZ -e .php,.bak
POST请求测试
测试POST请求中的参数(如表单提交)。
ffuf -w params.txt -u http://target.com/login -X POST -d "username=admin&password=FUZZ"
基础速率控制
调整线程数量(默认40),避免被目标封禁。
ffuf -w wordlist.txt -u http://target.com/FUZZ -t 20 # 使用20线程
简单输出格式
将结果输出为易读的文本文件。
ffuf -w wordlist.txt -u http://target.com/FUZZ -o results.txt
HTTP方法切换
测试不同HTTP方法(如 HEAD
, PUT
, DELETE
)。
ffuf -w wordlist.txt -u http://target.com/FUZZ -X HEAD
基础超时设置
设置单个请求超时时间(默认10秒)。
ffuf -w wordlist.txt -u http://target.com/FUZZ -timeout 5 # 5秒超时
Cookies支持
测试需要登录的页面时附加Cookies。
ffuf -w wordlist.txt -u http://target.com/FUZZ -b "session=abc123"
基础场景补充
备份文件扫描 快速查找常见备份文件(如 .bak
, .old
)。
ffuf -w wordlist.txt -u http://target.com/FUZZ -e .bak,.old
默认页面测试 检查是否存在默认的管理页面(如 /admin
, /login
)。
ffuf -w default_pages.txt -u http://target.com/FUZZ
简单登录爆破 测试弱密码(例如密码为 password
, 123456
)。
ffuf -w passwords.txt -u http://target.com/login -d "username=admin&password=FUZZ
路径遍历探测 检查路径穿越漏洞(如 /FUZZ/../etc/passwd
)。
ffuf -w traversal_payloads.txt -u http://target.com/FUZZ