Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/d4vinci/cwff
RicognizioneRaccolta InformazioniSicurezza WebFuzzingPenetration Testing
GitHubd4vinci/cwff

CWFF

Crea la tua Wordlist personalizzata per il Fuzzing

Vedi Repository
204511 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
CWFF — Crea la tua Wordlist personalizzata per il Fuzzing | Kitploit

CWFF - Wordlist personalizzate per fuzzing

CWFF è uno strumento che crea una wordlist di alta qualità per fuzzing/content discovery alla massima velocità possibile usando la concorrenza ed è fortemente ispirato da @tomnomnom e dal suo Who, What, Where, When, Wordlist #NahamCon2020.

Utilizzo

root@kitploit:~
CWFF [-h] [--threads] [--github] [--subdomains] [--recursive] [--js-libraries] [--connected-websites] [--juicy-files] [--use-filter-model] [-o] domain

positional arguments:
  domain                Target website(ofc)

optional arguments:
  -h, --help            Show this help message and exit
  --threads             The number of maximum concurrent threads to use (Default:1000)
  --github              Collect endpoints from a given github repo (ex:https://github.com/google/flax)
  --subdomains          Extract endpoints from subdomains also while search in the wayback machine!
  --recursive           Work on extracted endpoints recursively (Adds more endpoints but less accurate sometimes)!
  --js-libraries        Extract endpoints from JS libraries also, not just the JS written by them!
  --connected-websites  Include endpoints extracted from connected websites
  --juicy-files         Include endpoints extracted from juicy files like sitemap.xml and robots.txt
  --use-filter-model    Filter result endpoints with filter_model file
  -o                    The output directory for the endpoints and parameters. (Default: website name)

Descrizione (Importante)

Quindi, fondamentalmente raccoglie endpoint e parametri del target e dei suoi sottodomini utilizzando molte fonti di cui parleremo ora:

  1. Archive wayback machine: scorre tutti i record del sito web target e dei suoi sottodomini e recupera gli URL che restituiscono codice di stato 200.

Molti strumenti scorrono solo la pagina principale di wayback per risparmiare tempo, ma qui scorriamo tutti i record in poco tempo, ma questo fa sì che richieda molto tempo quando si utilizza il flag --subdomains.

  1. File Javascript raccolti durante la fase wayback e quelli raccolti analizzando la pagina target per il tag <script>

CWFF cerca di separare le librerie JS dai file JS effettivamente scritti dagli sviluppatori del sito e lo fa esaminando i nomi dei file JS. Per impostazione predefinita, CWFF estrae endpoint dai file JS scritti solo dagli sviluppatori; per utilizzare le librerie JS (per lo più non utili) attivare il flag --js-libraries.

  1. Indice CDX di Common Crawl e Alien Vault OTX (Open Threat Exchange)
  2. Se si fornisce a CWFF il flag --juicy-files, estrae anche endpoint da file come Sitemap.xml e robots.txt (potrebbe aggiungerne altri in futuro)
  3. Se si fornisce a CWFF un repository GitHub usando il flag --github, estrae i percorsi da quel repository usando l'API di GitHub (non è necessaria alcuna chiave API).

Per chiarezza, CWFF utilizza solo i percorsi di file e directory, quindi non estrae endpoint dall'interno dei file stessi!

  1. Utilizzando il flag --connected-websites, CWFF utilizza l'API di BuiltWith (richiede una chiave ma è gratuita) per estrarre i siti web collegati al target dal profilo di relazione, quindi estrae endpoint dal sorgente di questi siti.

Nota: puoi ottenere la tua chiave API da questa pagina e impostare la variabile nel file API_keys.py.

Dopo aver raccolto gli endpoint da tutte queste fonti, se si utilizza il flag --recursive, CWFF estrae ricorsivamente parti dagli endpoint raccolti.

  • Esempio: un endpoint come parseq/javadoc/1.1.0/com diventerà tutti questi endpoint:
    root@kitploit:~
    parseq/javadoc/1.1.0/com
    parseq/javadoc/1.1.0/
    parseq/javadoc/
    parseq/
    javadoc/
    1.1.0/
    com
    

Nota: tutti gli endpoint/parametri raccolti vengono puliti e ordinati senza duplicati per ottenere un risultato unico.

Filtraggio dei risultati

Ovviamente dopo tutte queste fonti e questo lavoro, ci saranno molti endpoint indesiderati/inutili tra quelli importanti, e qui entra in gioco il filtraggio per risparmiare tempo e risorse.

In CWFF puoi rilevare e rimuovere gli endpoint indesiderati usando tre metodi:

  • Rimuovere gli endpoint che terminano con qualsiasi stringa da un elenco dato (ad esempio estensioni).
  • Rimuovere gli endpoint che contengono qualsiasi stringa da un elenco di stringhe.
  • E infine il più importante, rimuovere gli endpoint che corrispondono a qualsiasi espressione regolare da un elenco dato.

Tutte queste opzioni di filtro possono essere fornite impostando le variabili nel file filter_model.py e poi usando il flag --use-filter-model all'avvio di CWFF. Se non sai come impostare queste variabili, consulta i commenti che ho lasciato nel file: è quello che uso principalmente e nello screenshot ha ridotto il numero di endpoint raccolti da 26.177 a 3.629. Nel caso in cui tu abbia dimenticato di usare il filtraggio durante l'esecuzione di CWFF, non preoccuparti, ci penso io 😄

Puoi usare lo script filter.py per filtrare gli endpoint che hai nel modo seguente e caricherà automaticamente il file filter_model.py senza dover rieseguire CWFF:

root@kitploit:~
python filter.py wordlist.txt output.txt

Requisiti

  • Python 3.6+
  • Dovrebbe funzionare su qualsiasi sistema operativo, ma l'ho testato solo su Linux Manjaro.
  • Le seguenti istruzioni

Installazione

root@kitploit:~
python3 -m pip install -r requirements.txt
python3 cwff.py --help

Contatti

  • Twitter
  • Telegram

TODO

  • Unire endpoint ricorsivamente
  • Estrarre parole uniche del sito confrontandole con RFC.

Donazioni

Se il mio lavoro ti è stato utile, sentiti libero di ringraziarmi offrendomi un caffè.

Coffee

Disclaimer

CWFF è creato per aiutare nei test di penetrazione e non è responsabile per qualsiasi uso improprio o scopi illegali.

Copiare il codice da questo strumento o usarlo in un altro strumento è accettato purché venga menzionata la fonte :smile

Scarica lo strumento