跳到主要内容

Feroxbuster 递归目录扫描

Feroxbuster 是用 Rust 编写的高速递归目录枚举工具。与 Gobuster 的最大区别在于 Feroxbuster 原生支持递归扫描——发现子目录后自动进入继续枚举,不需要手动二次扫描。


安装

Kali Linux

Kali 2021.1+ 默认已预装:

feroxbuster --version

Debian / Ubuntu

sudo apt update && sudo apt install -y feroxbuster

Cargo

cargo install feroxbuster

macOS

brew install feroxbuster

二进制安装

curl -sL https://raw.githubusercontent.com/epi052/feroxbuster/main/install-nix.sh | bash

核心参数速查

参数说明示例
-u <url>目标 URL-u http://192.168.1.108/
-w <wordlist>字典文件-w /usr/share/seclists/Discovery/Web-Content/common.txt
-t <n>并发线程数(默认 50)-t 30
-x <exts>追加扩展名-x php,txt,html,bak
-o <file>输出到文件-o ferox.txt
-d <depth>递归深度(默认 4)-d 2
-n不递归-n
-q安静模式-q
-k跳过 TLS 证书验证-k
-r跟随重定向-r
-C <codes>过滤状态码-C 404,403
-S <size>过滤响应大小-S 0
-W <words>过滤响应字数-W 10
-L <lines>过滤响应行数-L 5
-H <header>自定义 Header-H "Cookie: session=abc"
-a <ua>自定义 User-Agent-a "Mozilla/5.0"
-s <codes>仅显示指定状态码-s 200,301
--rate-limit <n>每秒最大请求数--rate-limit 100
--time-limit <s>扫描超时时间--time-limit 5m
--auto-tune自动调整速率--auto-tune
-e提取页面中的链接-e

常用扫描模式

1. 递归扫描(默认行为,最大优势)

Feroxbuster 默认递归深度为 4 层:

feroxbuster -u http://192.168.1.108/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -x php,txt,html

发现 /app/ 后会自动扫描 /app/*,无需手动操作。

2. 限制递归深度

# 只递归 1 层(类似 Gobuster 行为 + 1 层深入)
feroxbuster -u http://target/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -d 1 -x php

# 不递归(等同 Gobuster)
feroxbuster -u http://target/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -n

3. 过滤噪音

# 过滤 404 和 403
feroxbuster -u http://target/ -w wordlist.txt -C 404,403

# 过滤特定大小的响应(通配符页面)
feroxbuster -u http://target/ -w wordlist.txt -S 1234

# 过滤特定行数
feroxbuster -u http://target/ -w wordlist.txt -L 5

4. 带认证扫描

feroxbuster -u http://target/ -w wordlist.txt -H "Cookie: PHPSESSID=abc123" -H "Authorization: Bearer xxx"

5. 速率控制

# 限制每秒 50 个请求
feroxbuster -u http://target/ -w wordlist.txt --rate-limit 50

# 自动调整(遇到错误自动降速)
feroxbuster -u http://target/ -w wordlist.txt --auto-tune

6. 链接提取

# 从响应页面中提取链接,加入扫描队列
feroxbuster -u http://target/ -w wordlist.txt -e

交互式控制

Feroxbuster 运行期间支持键盘交互:

按键功能
Enter显示所有扫描状态
数字 n + Enter取消第 n 个扫描任务
w + Enter增加线程数
s + Enter减少线程数

这对于发现大量递归子目录导致扫描失控时非常有用——可以按需取消不相关的分支。


配置文件

Feroxbuster 支持 TOML 配置文件,避免每次输入长命令。默认路径 /etc/feroxbuster/ferox-config.toml

# ~/.config/feroxbuster/ferox-config.toml
wordlist = "/usr/share/seclists/Discovery/Web-Content/common.txt"
extensions = ["php", "txt", "html"]
threads = 30
depth = 2
status_codes = [200, 301, 302]
filter_status = [404, 403]
output = "ferox-results.txt"

使用配置文件后只需:

feroxbuster -u http://target/

与 Gobuster 的选择

场景推荐工具理由
快速扫描已知路径结构Gobuster简单直接,不递归不浪费时间
需要深入探索目录树Feroxbuster自动递归,省去手动二次扫描
子域名/VHost 枚举GobusterFeroxbuster 不支持
大型 Web 应用深度审计Feroxbuster链接提取 + 递归 + 自动调速
不确定用哪个Gobuster先快扫,有需要再上 Feroxbuster

靶场建议:先 Gobuster common.txt 快扫,如果发现多层嵌套目录结构,切换到 Feroxbuster 递归深扫。


靶场实战速查

场景命令
递归扫描feroxbuster -u http://target/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -x php,txt,html -d 2
大字典深扫feroxbuster -u http://target/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php -t 50
静默输出保存feroxbuster -u http://target/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -q -o results.txt
HTTPS 目标feroxbuster -u https://target/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -k
限速扫描feroxbuster -u http://target/ -w /usr/share/seclists/Discovery/Web-Content/common.txt --rate-limit 50 --auto-tune

相关知识