

Bolt è in fase beta di sviluppo, il che significa che potrebbero esserci bug. Qualsiasi uso in produzione di questo strumento è sconsigliato. Pull request e segnalazioni di problemi sono benvenuti. Ti suggerisco anche di mettere questo repository sotto osservazione se sei interessato.
Bolt esegue il crawling del sito web target fino alla profondità specificata e memorizza tutti i moduli HTML trovati in un database per un'elaborazione successiva.
In questa fase, Bolt rileva i token che non sono abbastanza robusti e i moduli che non sono protetti.
Questa fase si concentra sul rilevamento di scenari di attacco replay e quindi verifica se un token è stato emesso più di una volta. Calcola anche la distanza di Levenshtein media tra tutti i token per vedere se sono simili. I token vengono anche confrontati con un database di oltre 250 pattern di hash.
In questa fase, vengono effettuate 100 richieste simultanee a una singola pagina web per vedere se vengono generati token identici per le richieste.
Questa fase è dedicata al test attivo del meccanismo di protezione CSRF. Include, ma non si limita a, verificare se la protezione esiste per browser mobili, inviare richieste con un token auto-generato e testare se il token viene controllato fino a una certa lunghezza.
In questa fase vengono eseguiti vari controlli statistici per verificare se il token è veramente casuale. I seguenti test vengono eseguiti durante questa fase
Eseguire la scansione di un sito web per CSRF con Bolt è facile come fare
python3 bolt.py -u https://github.com -l 2
Dove -u viene utilizzato per fornire l'URL e -l per specificare la profondità del crawling.
Altre opzioni e parametri:
-t numero di thread--delay ritardo tra le richieste--timeout timeout della richiesta HTTP--headers fornire intestazioni HTTPLe espressioni regolari per rilevare gli hash sono prese da hashID.
I test di entropia a livello di bit sono presi dall'implementazione python dei test statistici di highfestiva.