tags: Pulire_Wordlist


Può capitare che con strumenti come Vim o Nano si creino spazi e righe vuote indesiderate che possono falsare l’enumerazione o il bruteforcing di un attacco, per avere delle wordlist sempre belle pulite possiamo usare il seguente comando:

grep -v '^$' users.txt | tr -d ' \t' | sort -u > users_clean.txt

Questo toglie righe vuote (grep -v '^$'), rimuove spazi e tab (tr -d), deduplica. Poi usa users_clean.txt.

Attenzione a tr -d ' \t': cancella gli spazi ovunque, anche in mezzo alla parola. Per gli username va benissimo (non contengono spazi). Ma se un giorno la tua wordlist contiene valori con spazi legittimi — password tipo correct horse battery, o frasi — tr -d te li distruggerebbe. In quel caso vuoi togliere solo gli spazi a inizio/fine riga, non quelli interni, e allora usi:

sed 's/^[[:space:]]*//; s/[[:space:]]*$//' input.txt | grep -v '^$' | sort -u > output.txt

Un carattere invisibile che ti fregherà prima o poi

Aggiungo l’insidia più subdola: i file creati o modificati su Windows (o copiati da certi editor) hanno i fine-riga \r\n invece di \n. Quel \r (carriage return) è invisibile ma viene inviato nella richiesta, quindi il server riceve admin\r e non fa match — identico sintomo al tuo problema di oggi, ma senza che tu veda nessuno spazio. Se un giorno una lista “sembra pulita” ma non matcha, sospetta i \r:

bash

tr -d '\r' < input.txt > output.txt

oppure dos2unix input.txt.

Il principio generale

La regola da interiorizzare non è “usa quel filtro”, è: una wordlist custom è da considerarsi sporca finché non l’hai verificata. Prima di darla in pasto a ffuf/hydra/qualsiasi tool, dài un’occhiata veloce con:

bash

cat -A users.txt | head

cat -A ti mostra i caratteri invisibili: ‘afineriga(ilnewlinenormale),‘I‘peritab,‘M‘perilfamigerato‘‘˚.Sevedispaziprimadel‘ a fine riga (il newline normale), ^I per i tab, ^M per il famigerato \r. Se vedi spazi prima del ‘afineriga(ilnewlinenormale),‘I‘peritab,‘M‘perilfamigerato‘‘˚.Sevedispaziprimadel‘, o dei ^M, o righe con solo $, sai che devi pulire — e quale pulizia serve. Così non tiri a indovinare: guardi cos’ha che non va, esattamente come per i filtri di ffuf.

In sintesi: sì, prendi l’abitudine di sanificare, ma igienizza in base a cosa il file ha davvero dentro (cat -A te lo dice), non applicando sempre lo stesso comando a scatola chiusa — perché tr -d ' \t' su una lista di passphrase con spazi legittimi ti creerebbe il problema opposto.