ffuf

ffuf (Fuzz Faster U Fool) is a fast web fuzzer written in Go. It's used for directory discovery, parameter fuzzing, virtual host enumeration, and other brute-force testing against web applications.

Basic Usage

# Directory discovery
ffuf -u https://target.com/FUZZ -w wordlist.txt

# File extension fuzzing
ffuf -u https://target.com/admin.FUZZ -w extensions.txt

# Parameter fuzzing
ffuf -u "https://target.com/api?FUZZ=test" -w params.txt

# POST data fuzzing
ffuf -u https://target.com/login -X POST \
     -d "user=admin&pass=FUZZ" -w passwords.txt

Filtering Options

# Filter by status code
ffuf -u URL/FUZZ -w wordlist.txt -fc 404

# Match specific codes
ffuf -u URL/FUZZ -w wordlist.txt -mc 200,301,302

# Filter by response size
ffuf -u URL/FUZZ -w wordlist.txt -fs 1234

# Filter by word count
ffuf -u URL/FUZZ -w wordlist.txt -fw 100

# Filter by line count
ffuf -u URL/FUZZ -w wordlist.txt -fl 10

Advanced Features

# Multiple FUZZ keywords
ffuf -u https://FUZZ.target.com/FUZZ2 \
     -w subdomains.txt:FUZZ -w dirs.txt:FUZZ2

# Virtual host fuzzing
ffuf -u https://target.com -H "Host: FUZZ.target.com" -w wordlist.txt

# Rate limiting
ffuf -u URL/FUZZ -w wordlist.txt -rate 100

# Output formats
ffuf -u URL/FUZZ -w wordlist.txt -o results.json -of json

Performance

ffuf is known for its speed due to Go's concurrency. Default threads can be adjusted with -t flag.

See Also