ffuf – 用 Go 编写的快速 Web Fuzzer Linux 工具
模糊测试是向应用程序提供随机输入以查找任何错误或任何意外行为的自动过程。但是在任何 Web 服务器上查找任何隐藏的目录和文件也可以归类为模糊测试。如果我们尝试手动执行此过程,则可能需要数十个月才能在服务器上找到目录。所以自动化方法是执行模糊测试的最佳方法。 FFUF 是用 Golang 语言开发的自动化工具,是当今最快的 fuzzer 工具。它具有从 GET 到 POST 操作方法的各种关键功能,反之亦然。我们也可以使用各种词汇表来对 vhost 进行模糊测试。 FFUF 工具是一个开源和免费使用的工具。
注意:由于 Ffuf 是基于 Golang 语言的工具,因此您的系统上需要有一个 Golang 环境。因此,请检查此链接以在您的系统中安装 Golang。 – 在 Linux 中安装 Go Lang
在 Kali Linux 操作系统上安装 Ffuf 工具
步骤 1 :如果您的系统中已经下载了 Golang,请通过检查 Golang 的版本来验证安装,使用以下命令。
go version
第 2 步:获取 Ffuf 存储库或从 GitHub 克隆 Ffuf 工具,使用以下命令。
sudo GO111MODULE=on go get -u github.com/ffuf/ffuf
第 3 步:使用以下命令检查 Ffuf 工具的版本。
ffuf -V
第4步:查看帮助菜单页面以更好地了解Ffuf工具,使用以下命令。
ffuf -h
配置文件
当 ffuf 工具启动时,该工具首先检查其默认配置文件是否退出。配置文件的路径通常位于 ~/.ffufrc /$HOME/.ffufrc 或 /home/gaurav/.ffufrc。在 Windows 操作系统中,此路径可能会有所不同,并且大多数情况下它可以位于 %USERPROFILE%\.ffufrc。终端上提供了覆盖从 ~/.ffufrc 文件加载的配置选项。例如,如果您希望在各种场景中使用一堆配置文件,那么您可以使用 -config 标签来定义配置文件路径,该标签将配置文件的文件路径作为其参数。
在 Kali Linux 操作系统上使用 Ffuf 工具
示例 1 :典型的目录发现
ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u https://geeksforgeeks.org/FUZZ
在此示例中,我们正在对 geeksforgeeks.org 目标域的目录进行模糊测试。
示例 2 :虚拟主机发现(没有 DNS 记录)
ffuf -w /usr/share/wordlists/vhost.txt -u https://geeksforgeeks.org -H “Host: FUZZ” -fs 4242
在此示例中,我们将过滤掉 -fs 标记中指定的 VHOST 默认端口 4242。
示例 3 :GET 参数模糊测试
ffuf -w /usr/share/wordlists/parameters.txt -u http://testphp.vulnweb.com/search.php?FUZZ=test_value -fs 4242
在此示例中,我们使用 GET 方法对目录进行模糊测试。
示例 4 :最长执行时间
ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u https://geeksforgeeks.org/FUZZ -maxtime 60
在此示例中,我们指定了最大请求时间。我们使用 -maxtime 标签来指定时间。
示例 4 :POST 数据模糊测试
ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -X POST -d “username=admin\&password=FUZZ” -u https://testphp.vulnweb.com/login.php -fc 401
在此示例中,我们使用 POST 方法对目录进行模糊测试。
示例 5 :使用外部 mutator 生成测试用例
ffuf –input-cmd ‘radamsa –seed $FFUF_NUM example1.txt example2.txt’ -H “Content-Type: application/json” -X POST -u https://testphp.vulnweb.com/ -mc all -fc 400
在此示例中,我们将对通过 POST 发送的 JSON 数据进行模糊测试。 Radamsa s 用作增变器。