Feroxbuster: A Fast, Flexible Web Fuzzer for Recon
Feroxbuster is a fast, multi-threaded content discovery tool (directory and file brute-forcer) written in Rust. It’s designed to be easy to install, performant on large targets, and flexible enough for automation or interactive use.
Why Feroxbuster?
Speed & Efficiency: Built in Rust, it’s blazingly fast and uses minimal memory.
Recursive Fuzzing: Automatically follows discovered directories to any depth.
Flexible Filters: Include/exclude by status code, content length, regex, or extension.
Output Options: Save to text, CSV, JSON, or screen with live progress.
Extensible: Support for custom headers, proxies, authentication, and wordlist chaining.
Installation
Feroxbuster ships as a single static binary—no external dependencies once installed.
1. On Kali / Debian
# Update package lists
sudo apt update
# Install via APT repository
sudo apt install feroxbuster
(If your distro’s repo is out-of-date, see the “From Releases” section below.)
2. From GitHub Releases
Download the latest Linux release:
curl -sL https://api.github.com/repos/epi052/feroxbuster/releases/latest \ | grep browser_download_url \ | grep linux \ | cut -d '"' -f 4 \ | wget -qi -Unpack and move into
PATH:tar xvf feroxbuster-*linux*.tar.gz sudo mv feroxbuster /usr/local/bin/ feroxbuster --version
3. Building from Source
# Install Rust toolchain if you haven’t already
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Clone and build
git clone https://github.com/epi052/feroxbuster.git
cd feroxbuster
cargo build --release
# Move the binary
sudo mv target/release/feroxbuster /usr/local/bin/
Quick Start & Usage Examples
Basic Directory Discovery
feroxbuster -u https://example.com/ -w /usr/share/wordlists/dirb/common.txt
-utarget URL-wwordlist
Include Specific Extensions
feroxbuster -u http://10.10.10.5/ -w wordlist.txt -x php,html,js,txt
-xcomma-separated extensions
Recursive Fuzzing
By default feroxbuster recurses into found directories. To disable:
feroxbuster -u https://example.com/ -w dir.txt --no-recursion
Filtering by Status Codes
Only show 200 and 301:
feroxbuster -u https://site/ -w list.txt -s 200,301
Excluding by Size or Regex
Skip responses larger than 100 KB or containing “404” in the body:
feroxbuster -u https://site/ -w list.txt \
--max-size 100000 \
--exclude-regex "404 Not Found"
Output Formats
Plain text:
feroxbuster ... -o results.txtCSV:
feroxbuster ... -o results.csv --format csvJSON (for scripting):
feroxbuster ... -o results.json --format json
Using with a Proxy or Custom Header
feroxbuster -u https://app/ -w list.txt \
--proxy http://127.0.0.1:8080 \
-H "Authorization: Bearer <token>"
Advanced Tips
Chaining Wordlists: Fuzz subdirectories with one list, then files with another:
feroxbuster -u https://site/ -w dirs.txt --wordlist-level 2 files.txtConcurrency Tuning: Increase threads for more speed (beware of DOSing the target!):
feroxbuster -u http://target/ -w list.txt -t 100Auto-resume: Use
--resumeto pick up where you left off after an interruption.Integration: Combine with Burp, ZAP, or CI pipelines by exporting JSON results for parsing.
Conclusion
Feroxbuster is a powerful tool in any pentester’s arsenal—lightweight, high performance, and highly configurable. Whether you’re doing quick reconnaissance or integrating into larger automation scripts, its Rust-powered speed and feature set make directory fuzzing a breeze.
🔗 Learn more & contribute: https://github.com/epi052/feroxbuster