tags : wfuzz wfuzz_sub_directory sub_directories sottocartelle
Comando completo
wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt -z file,extensions.txt --hh 404 http://example.com/FUZZ.FUZZ Per eseguire correttamente questo comando dobbiamo creare un file extensions.txt con all’interno le estensioni che vogliamo testare una per riga.
Comandi base:
Il comando base per Wfuzz è il seguente:
wfuzz -c -z file,/path/to/wordlist.txt <indirizzo_web>/FUZZ
wfuzz: Il comando per eseguire Wfuzz.-c: Aggiunge la colorazione all’output, rendendolo più leggibile.-z file,/path/to/wordlist.txt: Specifica la wordlist da utilizzare. Devi sostituire/path/to/wordlist.txtcon il percorso effettivo della tua wordlist. Esistono molte wordlist disponibili online, come quelle di SecLists (https://github.com/danielmiessler/SecLists).<indirizzo_web>/FUZZ: L’URL del sito web target conFUZZal posto della parte che vuoi “forzare”. Wfuzz sostituiràFUZZcon ogni parola presente nella wordlist.
Esempio:
Per esempio, se vuoi enumerare le sottodirectory di http://example.com, useresti:
wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt http://example.com/FUZZ
Questo comando proverà tutte le parole presenti in common.txt (una wordlist comune per la directory brute-forcing) come sottodirectory di http://example.com.
Opzioni avanzate:
-
Codici di stato HTTP: Puoi filtrare i risultati in base ai codici di stato HTTP. Ad esempio, per mostrare solo le directory esistenti (codice 200) e i redirect (codici 301, 302, 307):
wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt --hh 404 http://example.com/FUZZ--hh 404nasconde le risposte con codice 404 (Not Found). Puoi usare anche--hcper specificare i codici da nascondere, ad esempio--hc 404,403nasconde sia i 404 che i 403. -
Ricerca ricorsiva: Per cercare sottodirectory all’interno di altre sottodirectory, puoi usare l’opzione
-r:wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt -r http://example.com/FUZZQuesto comando proverà anche
http://example.com/directory1/FUZZ,http://example.com/directory2/FUZZ, e così via. Attenzione, la ricerca ricorsiva può generare un numero molto elevato di richieste. -
Estensioni di file: Puoi specificare le estensioni dei file da cercare. Ad esempio, per cercare file
.php,.txte.html:wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt http://example.com/FUZZ.php wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt http://example.com/FUZZ.txt wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt http://example.com/FUZZ.htmlOppure, per provare diverse estensioni contemporaneamente:
wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt -z file,extensions.txt http://example.com/FUZZ.FUZZDove
extensions.txtcontiene le estensioni che vuoi provare, una per riga. -
Tempo di attesa: Puoi impostare un tempo di attesa tra le richieste con l’opzione
-p:wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt -p 0.1 http://example.com/FUZZQuesto comando imposterà un ritardo di 0.1 secondi tra ogni richiesta. Questo può essere utile per evitare di sovraccaricare il server target o di essere bloccati.
-
Header personalizzati: Puoi aggiungere header personalizzati alle richieste HTTP con l’opzione
-H. Ad esempio, per impostare l’User-Agent:wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt -H "User-Agent: Mozilla/5.0" http://example.com/FUZZ -
Mostrare solo i risultati con una determinata lunghezza: Puoi usare
--ss(size show) per mostrare solo le risposte con una specifica lunghezza in byte. Questo è utile per identificare pagine con contenuti diversi da quelli standard di “pagina non trovata”. Ad esempio:wfuzz -c -z file,/usr/share/wordlists/dirb/common.txt --ss 1234 http://example.com/FUZZMostrerà solo le risposte con una lunghezza di 1234 byte. Puoi combinare
--sscon--hhper escludere i 404 e concentrarti su pagine “interessanti” con una certa dimensione.