Gobuster and ffuf are two of the most popular fuzzing tools in web penetration testing. They discover hidden directories, files, parameters, and subdomains through dictionary-based attacks.
# Gobuster (Go):
apt install gobuster
# ffuf (Go β faster and more flexible):
apt install ffuf
# Recommended wordlists (SecLists):
apt install seclists
gobuster dir -u http://target.com -w common.txt -x php,txt,bak
gobuster dir -u http://target.com -w wordlist.txt -b 404,403
ffuf uses the FUZZ keyword to inject the wordlist anywhere in the request.
# Directory fuzzing:
ffuf -u http://target.com/FUZZ -w dict.txt
# GET parameter name fuzzing:
ffuf -u "http://target.com/page.php?FUZZ=test" -w params.txt
# POST fuzzing:
ffuf -u http://target.com/login \
-w rockyou.txt \
-X POST -d "username=admin&password=FUZZ" \
-H "Content-Type: application/x-www-form-urlencoded"
You are facing a "Catch-all" server (it lies and always returns 200 OK). Prove your skills by crafting the exact ffuf command to filter the garbage and find the hidden panel.
>_ START CTF 07 CHALLENGESometimes servers return 200 OK for everything, flooding our results with false positives. We analyze the default error page size and tell ffuf to filter it out.
# Filter by size in Bytes (-fs):
ffuf -u http://target.com/FUZZ -w dict.txt -fs 512
# Filter by word (-fw) or line count (-fl):
ffuf -u http://target.com/FUZZ -w dict.txt -fw 10 -fl 25
# VHost fuzzing via Host header:
ffuf -u http://SERVER_IP -H "Host: FUZZ.target.com" -w subdomains.txt -fs 4242