x-cmd pkg | ffuf - 网络模糊测试工具

283 阅读3分钟

简介

ffuf 是一个用 Go 语言编写的网络模糊测试工具,主要有以下用途:

  1. 目录发现:ffuf 尝试从不同的路径和文件名来扫描 Web 服务器,从而发现隐藏的目录和文件。
  2. 子域名枚举:通过 fuzzing 子域名,可以帮助发现目标域中的其他子域。
  3. HTTP 方法扫描:测试不同的 HTTP 方法(GET、POST、PUT 等)。
  4. 参数级模糊测试:通过针对 URL 中的特定参数进行更深入的挖掘,发现隐藏的漏洞。

首次用户

  1. 使用 x env use ffuf 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 ffuf 命令常用功能的 demo 示例,可以帮你快速上手 ffuf 。

  3. 使用案例:

ffuf-1min-cn

# 安装 ffuf
x env use ffuf

# 模糊查询来自 wordlist.txt 的文件路径
ffuf -w wordlist.txt -u https://example.org/FUZZ

# 模糊查询来自 wordlist.txt 的文件路径,并具有彩色和详细输出
ffuf -w wordlist.txt -u https://example.org/FUZZ -c -v

# 模糊查询 Host-header,匹配 HTTP 200 响应
ffuf -w wordlist.txt -u https://example.org -H "Host: FUZZ" -mc 200

技术特点

  1. 性能优异: ffuf 使用了并发,可以同时发送多个请求,提高测试效率,并允许用户可以通过调整 -t 参数来指定并发线程数目(默认40)。
  2. 设置代理:ffuf 支持像 curl 一样通过命令行参数 -x <proxy> 来设置代理,例如 -x 'http://127.0.0.1:8080'
  3. 可自定义性: 用户可以指定不同的字典文件、HTTP 方法、头部、参数等,以满足特定的测试需求。
  4. 匹配和过滤
    1. 自动过滤输出:在扫描过程中,ffuf 根据 HTTP 响应的状态码、内容长度等自动过滤结果,排除不符合条件的响应。
    2. 过滤器:用户可以通过命令行过滤参数来过滤扫描结果,例如 -fc 过滤 HTTP 响应的状态码,-ft 过滤响应的时间。
    3. 匹配器:每个过滤器都有其对应的匹配器,它们的功能完全相同,但效果却完全相反,例如 -mt 匹配响应时间。
  5. 多种输出格式:支持输出 json、ejson、html、md、csv、ecsv,这使得结果的处理和分析更加方便。

竞品和相关作品

  1. wfuzz:Wfuzz 是通过将占位符 FUZZ 替换为 wordlist 值来工作的模糊测试工具。
  2. gobuster:GoBuster 是另一种用 Go 语言编写的模糊器,最常用于模糊 URI、目录/路径、DNS 子域、AWS S3 存储桶、虚拟主机名。

进一步阅读


扫描关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法