Ffuf Guide: Fast Web Fuzzing Tool
Learn Ffuf for fast web fuzzing including directory discovery, parameter fuzzing, subdomain enumeration, and virtual host discovery.
Why You Need FFUF
You need to discover hidden endpoints, parameters, or subdomains on a web application — FFUF fuzzes URLs faster than most alternatives. Written in Go for high concurrency, it supports directory discovery, parameter fuzzing, POST data fuzzing, and virtual host enumeration in a single tool.
Prerequisites
Installation
sudo apt install ffuf
# From source
go install github.com/ffuf/ffuf/v2@latest
Basic Usage
ffuf -u http://target.com/FUZZ -w /usr/share/wordlists/dirb/common.txt
The FUZZ keyword marks where wordlist entries are inserted.
Key Options
| Option | Description |
|--------|-------------|
| -u URL | Target URL with FUZZ |
| -w WORDLIST | Wordlist file |
| -c | Colorize output |
| -fc STATUS | Filter by status code |
| -fs SIZE | Filter by response size |
| -r | Follow redirects |
| -t THREADS | Number of threads |
Fuzzing Techniques
# Directory discovery
ffuf -u http://target.com/FUZZ -w wordlist.txt -c
# File extension fuzzing
ffuf -u http://target.com/indexFUZZ -w /usr/share/wordlists/SecLists/Discovery/Web-Content/web-extensions.txt
# POST parameter fuzzing
ffuf -u http://target.com/login.php -X POST -d "user=FUZZ&pass=test" -w users.txt -fc 200
# Subdomain enumeration
ffuf -w /usr/share/wordlists/dirb/common.txt -u http://FUZZ.target.com
# Virtual host discovery
ffuf -w /usr/share/wordlists/dirb/common.txt -u http://target.com -H "Host: FUZZ.target.com"
Using Filters
ffuf -u http://target.com/FUZZ -w wordlist.txt -fc 404
ffuf -u http://target.com/FUZZ -w wordlist.txt -fs 0,1234
Common Mistakes
Forgetting the FUZZ keyword. Not using filters. Wrong wordlist selection.
Best Practices
Use output files. Test with -ac (auto-calibration). Start with small wordlists.
Related Tools
Related Articles
Summary
Ffuf is a lightning-fast web fuzzer for discovering hidden content, parameters, subdomains, and virtual hosts.