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

  1. 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 -
    
  2. 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
  • -u target URL

  • -w wordlist

Include Specific Extensions

feroxbuster -u http://10.10.10.5/ -w wordlist.txt -x php,html,js,txt
  • -x comma-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.txt
    
  • CSV:

    feroxbuster ... -o results.csv --format csv
    
  • JSON (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.txt
    
  • Concurrency Tuning: Increase threads for more speed (beware of DOSing the target!):

    feroxbuster -u http://target/ -w list.txt -t 100
    
  • Auto-resume: Use --resume to 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