跳至正文

ffuf应用

使用 FFuZ 的基本步骤如下:

1. 安装 FFuZ

首先,确保你已经安装了 ffuf(FFuZ)。如果没有安装,可以通过以下命令进行安装:

安装 FFuZ(ffuf):

sudo apt-get install ffuf

如果没有在系统的包管理器中找到,可以使用 Go 语言环境来安装:

go install github.com/ffuf/ffuf@latest

然后,确保 $GOPATH/bin 已经在你的环境变量中设置。

2. 基本使用方式

FFuZ 的主要用途是进行目录/文件爆破和参数模糊测试。以下是常用的使用方法:

目录/文件爆破:

ffuf -w /path/to/wordlist.txt -u http://target.com/FUZZ
  • -w /path/to/wordlist.txt:指定字典文件,文件中每一行代表一次请求路径。
  • -u http://target.com/FUZZFUZZ 是一个占位符,FFuZ 会在这个位置替换为字典中的条目。

示例:

ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://example.com/FUZZ

这会使用 dirbuster 的字典爆破 example.com 站点上的目录。

自定义头部(如针对特殊需求):

ffuf -w /path/to/wordlist.txt -u http://target.com/FUZZ -H "Authorization: Bearer your_token"

匹配特定的响应码:

有时,你只对某些 HTTP 状态码感兴趣,例如只匹配返回 200 OK 的页面:

ffuf -w /path/to/wordlist.txt -u http://target.com/FUZZ -mc 200

POST 请求爆破参数:

你还可以进行 POST 参数的模糊测试:

ffuf -w /path/to/wordlist.txt -u http://target.com/api -X POST -d "param1=FUZZ&param2=value"

3. 高级用法

并发与速度调整:

可以通过 -t 参数调整并发量,以提高效率。默认值通常为 40,可以根据目标服务器的性能做相应调整。

ffuf -w /path/to/wordlist.txt -u http://target.com/FUZZ -t 100

匹配不同长度的响应内容:

如果目标服务器返回不同长度的内容,可以通过响应长度来过滤结果:

ffuf -w /path/to/wordlist.txt -u http://target.com/FUZZ -fs 4242

其中 -fs 表示文件大小为 4242 字节时不显示结果。

保存输出:

可以使用 -o 参数保存扫描结果:

ffuf -w /path/to/wordlist.txt -u http://target.com/FUZZ -o output.json -of json

-of json 代表以 JSON 格式保存结果。

4. 常见字典

一些常见的字典文件可以从以下路径找到:

  • /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt(目录爆破)
  • /usr/share/seclists/Discovery/Web-Content/common.txt(常见路径)

你也可以通过 Seclists 库获取更多字典文件(https://github.com/danielmiessler/SecLists)。

5. 其他参数

  • -e:指定扩展名,进行文件爆破时使用。
  • -r:跟随重定向。
  • -v:显示详细输出。

示例:

ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://example.com/FUZZ -e .php,.html -t 100 -mc 200 -o result.txt

这会使用字典文件 directory-list-2.3-medium.txt 爆破 example.com,并尝试 .php.html 扩展名,设置并发 100,匹配 200 响应码,并将结果输出到 result.txt

总结:

FFuZ 是一个功能强大的模糊测试工具,能帮助发现隐藏的目录、文件或参数。通过灵活的配置和强大的并发处理能力,能够高效地进行 Web 安全测试。