Key Concepts
- FFUF (Fuzz Faster U Fool): A versatile command-line web fuzzing tool for directory discovery, brute-forcing parameters, and more.
 - Wordlists: Text files containing lists of items to try during fuzzing (common directories, filenames, usernames, passwords, etc.)
 - FUZZ: Keyword within FFUF commands; the placeholder where the wordlist items are inserted during fuzzing.
 
Basic Usage
Bash
ffuf -w wordlist.txt -u https://target.com/FUZZ 
- Replace 
wordlist.txtwith your desired wordlist. - Replace 
https://target.com/FUZZwith the URL, placingFUZZwhere you want wordlist items inserted. 
Common Options
-u: The target URL.-w: Wordlist file. Use multiple-wto provide several wordlists.-H: Add headers (e.g.,-H "Cookie: sessionid=12345")-X: HTTP method (GET, POST, PUT, DELETE, HEAD, etc.)-d: POST data (e.g.,-d "username=test&password=FUZZ")-t: Number of concurrent threads (increase for speed at the cost of higher bandwidth use)-o: Output results to a file in various formats:-of csv(Comma separated)-of json-of html
Filtering Results
-mc: Match response by HTTP status code (e.g.,-mc 200for OK)-ms: Match response by size (e.g.,-ms 500for sizes around 500 bytes)-fc: Filter by status code (e.g.,-fc 404to exclude Not Found)-fs: Filter by response size-fw: Filter by words present in the response
Examples ffuf Cheat Sheet
Simple Directory Discovery
Bash
ffuf -w /path/to/directory_wordlist.txt  -u https://target.com/FUZZ
Fuzzing with Headers
Bash
ffuf -w passwords.txt -u https://example.org/login -X POST -d "username=admin&password=FUZZ" -H "User-Agent: EvilCorp-Browser" 
Match and Filter
Bash
ffuf -w wordlist.txt -u https://example.org/FUZZ -fs 42 -mc 200  
# Find responses with content size around 42 bytes AND status code 200
Virtual Host Discovery ffuf Cheat Sheet
Bash
ffuf -w vhosts.txt -u https://target.com/ -H "Host: FUZZ" -mc 200 
Advanced Features
- Recursion: Add 
-recursionand-recursion-depthto fuzz recursively. - Dynamic Data Generation: Use FFUF’s filters along with 
-mode clusterbombfor more complex fuzzing patterns. - Matchers and Filters: Fine-tune your results with a variety of matchers (size, words, lines, regex) and filters.
 
Additional Tips
- Start with good wordlists: Effective fuzzing is highly dependent on the quality of your wordlists. There are many resources online for finding and creating them.
 - Understand HTTP responses: Interpret status codes and response sizes to tailor your fuzzing strategy.
 - Customize filters: The more specific your filters, the more refined your results.
 - Test safely and responsibly: Always get permission before fuzzing a target you don’t own.
 
