PRIMARY CATEGORY → WEB PENTESTING

Web Application Content

Ffuf

Ffuf

Only Directories
ffuf -t <THREADS> -w '<WORDLIST>' -u 'http[s]://<TARGET>/FUZZ'
Directories and Files
ffuf -t <THREADS> -w '<WORDLIST>' -e '.<EXT1>,<EXT2>' 'http[s]://<TARGET>/FUZZ'
Recursion
ffuf -t <THREADS> -w '<WORDLIST>' -v -e '.<EXT>' -recursion -recursion-depth <INTEGER> -u 'http[s]://<TARGET>/FUZZ'
Gobuster

Gobuster

Only Directories
  • Long Format
gobuster dir --add-slash --threads <INT> --output <OUTPUT_FILE> --wordlist <WORDLIST> --url <URL>
  • Short Format
gobuster dir -ft <INT> -o <OUTPUT_FILE> -w <WORDLIST> -u <URL>
Directories and Files
  • Long Format
gobuster dir --threads <INT> --output <OUTPUT_FILE> --extensions <EXT1,EXT2,EXTN> --wordlist <WORDLIST> --url <URL>

The --extension argument option adds the extensions specified for each resource in the wordlist

  • Short Format
gobuster dir -t <INT> -o <OUTPUT_FILE> -x <EXT1,EXT2,EXTN> -w <WORDLIST> -u <URL>
Feroxbuster

Feroxbuster

Only Directories
  • Long Format
feroxbuster --add-slash --threads <INT> --output <OUTPUT_FILE> --wordlist <WORDLIST> --url <URL>
  • Short Format
feroxbuster -f -t <INT> -o <OUTPUT_FILE> -w <WORDLIST> -u <URL>
Directories and Files
  • Long Format
feroxbuster --threads <INT> --output <OUTPUT_FILE> --extensions <EXT1,EXT2,EXTN> --wordlist <WORDLIST> --url <URL>
  • Short Format
feroxbuster -t <int> -o <OUTPUT_FILE> -x <EXT1,EXT2,EXTN> -w <WORDLIST> -u <URL>
Wfuzz

Wfuzz

Only Directories
wfuzz -c --hc <STATUS_CODE> -t <INT> -f <OUTPUT_FILE>,<PRINTER> -w <WORDLIST> http[s]://<TARGET>[:<PORT>]/FUZZ/

To print the available output formats →

wfuzz -e printers # CSV - Field - HTML - JSON - RAW
Only Files
wfuzz -c --hc <STATUS_CODE> -t <INT> -f <OUTPUT_FILE>,<PRINTER> -z list,.<EXT1>,.<EXT2>,.<EXTN> -w <WORDLIST> http[s]://<TARGET>[:<PORT>]/FUZZ

To print the payloads used in the parameter -z

wfuzz -e payloads
Directories and Files
wfuzz -c --hc <STATUS_CODE> -t <INT> -f <OUTPUT_FILE>,<PRINTER> -z list,,.<EXT1>,.<EXT2>,.<EXTN> -w <WORDLIST> http[s]://<TARGET>:[<PORT>]/FUZZ

HTTP Parameters

GET
ffuf -t <THREADS> -v -w '<WORDLIST>' -u '<http[s]://<DOMAIN.TLD>/<PATH>?FUZZ=<VALUE>'
POST
ffuf -t <THREADS> -v -w '<WORDLIST>' -X POST -d 'FUZZ=<VALUE>' -H 'Content-Type: application/x-www-form-urlencoded' -u 'http[s]://'

Virtual Hosts

Ffuf
ffuf -t <THREADS> -v -w '<WORDLIST>' -H 'Host: FUZZ.<DOMAIN.TLD>' -u 'http[s]://<TARGET>:<PORT>'
Gobuster
IP Address in URL
gobuster vhost --threads <INT> --append-domain --domain <DOMAIN> --output <OUTPUT_FILE> --wordlist <WORDLIST> --url http[s]://<IP_ADDRESS>[:<PORT>]
Domain in URL
gobuster vhost --threads <INT> --append-domain --output <OUTPUT_FILE> --wordlist <WORDLIST> --url http[s]://<DOMAIN>[:<PORT>]
Wfuzz
IP Address in URL

If the domain does not resolve to the Server’s IP Address, e.g. CloudFlare’s Proxy Enabled ☁️

wfuzz -c --hc <STATUS_CODE> -t <INT> -f <OUTPUT_FILE> -H "Host:FUZZ.<DOMAIN>" -w <WORDLIST> http://<IP_ADDRESS>[:<PORT>]
Domain in URL

Unlike the above situation, the following one applies if the domain resolves to the Server’s IP Address

wfuzz -c --hc <STATUS_CODE> -t <INT> -f <OUTPUT_FILE> -w <WORDLIST> http://FUZZ.<DOMAIN>[:<PORT>]

Subdomains

Ffuf
ffuf -v -w '<WORDLIST>' -u 'http[s]://FUZZ.<DOMAIN.TLD>'