FFUF用法手册

本文最后更新于 2024年10月21日 晚上

FFUF 用法手册

前言:FFUF是最好用的目录扫描、FUZZ的工具之一,经常使用且用法灵活多样,于是整理一个用法手册方便查询使用命令

简介

FFUF(Fast Unrestricted Web Fuzzer)是一个快速、灵活的Web应用程序扫描工具,用于发现隐藏在Web服务器中的路径或文件。它的主要功能是通过暴力猜测(brute-forcing)来查找目标主机上存在的文件或目录,从而帮助发现可能存在的安全漏洞或配置问题。

image

主要特点和用途

  1. 快速和高效:FFUF专注于快速扫描和发现,利用并行化和异步请求以加快扫描速度。
  2. 灵活的字典支持:支持自定义字典文件,可以根据实际情况灵活调整扫描策略。
  3. HTTP请求定制:可以通过设置HTTP头、Cookie、代理等来定制每次请求,以便在不同场景下进行测试。
  4. 过滤器功能:支持根据HTTP状态码、响应内容长度等条件来过滤扫描结果,帮助缩小扫描范围。
  5. 递归扫描:可以深入探索目标网站的子目录和链接,发现更深层次的潜在目标。
  6. JSON输出支持:结果可以以JSON格式输出,方便后续分析或集成到其他工具中。

用法

需要自备对应的字典,十分自由灵活

参数

  • -w:指定字典路径
  • -X:指定请求方法
  • -d:指定post传参数据
  • -b:指定cookie数据
  • -u:指定目标URL
  • -H:指定HTTP头部
  • -r:遵循重定向
  • -c:为输出着色
  • -p:请求之间的“延迟”秒数,或随机延迟范围。例如“0.1”或“0.1-2.0”
  • -timeout:指定超时时间
  • -sf:当 > 95% 的响应返回 403 Forbidden 时停止(默认值:false)
  • -t:并发线程数。(默认值:40)
  • -v:详细输出,打印完整 URL 和重定向位置(如果有)以及结果。(默认值:false)
  • -fs:忽略为该大小的响应包
  • -fc:忽略为该状态码的响应包
  • -maxtime:指定最大执行时间
  • -maxtime-job:指定每个作业的最大时间
  • -recursion:启用递归扫描
  • -recursion-depth:指定递归扫描的深度
  • -recursion-strategy:递归策略“default”表示基于重定向,“greedy”表示对所有匹配项进行递归(默认值:default)
  • -mc all:显示所有成功匹配的内容
  • –input-cmd:指定了一个输入命令,用来生成FUZZ的替换值
  • -o:将输出写入文件
  • -of:输出文件格式。可用格式:json、ejson、html、md、csv、ecsv(或,所有格式均为“all”)(默认值:json)

示例

1. FUZZ 目录

1
ffuf -w /path/to/wordlist -u https://target/FUZZ

2. FUZZ HTTP头部

1
ffuf -w /path/to/vhost/wordlist -u https://target -H "Host: FUZZ" -fs 4242

3. FUZZ 参数名

1
ffuf -w /path/to/paramnames.txt -u https://target/script.php?FUZZ=test_value -fs 4242

4. FUZZ 参数值

1
ffuf -w /path/to/values.txt -u https://target/script.php?valid_name=FUZZ -fc 401

5. FUZZ POST Data

1
ffuf -w /path/to/postdata.txt -X POST -d "username=admin\&password=FUZZ" -u https://target/login.php -fc 401

6. FUZZ 最大时间后停止

1
ffuf -w /path/to/wordlist -u https://target/FUZZ -maxtime 60

7. FUZZ 递归

1
ffuf -w /path/to/wordlist -u https://target/FUZZ -maxtime-job 60 -recursion -recursion-depth 2