The ffuf (Fuzz Faster U Fool) tool is a fast and powerful web fuzzer written in Go, commonly used in web penetration testing and bug bounty hunting

Directory Bruteforcing

ffuf -u https://site.com/FUZZ -w common.txt -fc 404

Login Parameter Fuzzing

ffuf -u https://site.com/login -X POST -d "user=admin&pass=FUZZ" -w passwords.txt -mc 200

Virtual Host Discovery

ffuf -u http://TARGET -H "Host: FUZZ.target.com" -w subdomains.txt

Subdomain Fuzzing with DNS

ffuf -u http://FUZZ.target.com -w subdomains.txt -H "Host: FUZZ.target.com" -fs 0

Useful Flags

1. -u (URL)

Specifies the URL with the FUZZ keyword.

-u https://example.com/FUZZ

2. -w (Wordlist)

Path to the wordlist.

-w /usr/share/wordlists/dirb/common.txt

3. -t (Threads)

Number of concurrent threads (faster but heavier).

-t 50

4. -mc (Match Code)

Only show responses with specific HTTP status codes.

-mc 200,403

5. -fc (Filter Code)

Filter out responses with specific HTTP status codes.

-fc 404

6. -o (Output)

Save results to a file.

-o result.json -of json

7. -recursion & -recursion-depth

Useful for recursive directory fuzzing.

-recursion -recursion-depth 2

8. -H (Header)

Add custom headers (e.g., for cookies or tokens).

-H "Authorization: Bearer TOKEN"

9. -X (HTTP Method)

Change HTTP method (e.g., POST, PUT).

-X POST

10. -d (Data)

Send POST data.

-d "username=admin&password=FUZZ"

11. -fs (Filter by Response Size)

Don’t Show 1556 byte size file if the input is

-fs 1556