tags: Turbo_Intruder Race_Conditions


1. Installa l’estensione. In Burp vai su Extensions → BApp Store, cerca “Turbo Intruder”, e clicca Install. (Il link che ti hanno dato è proprio la sua pagina nel BApp Store.) Nota: Turbo Intruder richiede il Jython standalone, che di solito Burp scarica/configura da solo quando installi dal BApp Store.

2. Lancia l’estensione sulla richiesta. Trova la richiesta vulnerabile (in Proxy history o Repeater), tasto destro → Extensions → Turbo Intruder → Send to turbo intruder. Si apre una finestra con due riquadri: sopra la richiesta, sotto un editor Python con lo script di configurazione.

3. Carica il template giusto. In alto nella finestra di Turbo Intruder c’è un menu a tendina con gli script di esempio.

4. Personalizza se serve. Per un limit-overrun tipico ti basta cambiare il range(20) se vuoi più/meno richieste. Se il lab richiede una parte variabile (es. provare codici diversi), lì entra in gioco il wordlists, ma per il caso base le 20 richieste identiche vanno bene.

5. Attacca. Clicca “Attack” in basso. Turbo Intruder mostra una tabella con tutte le risposte: status code, lunghezza, ecc. Ordina per lunghezza o per status: se la race è riuscita, vedrai più risposte “di successo” di quante avrebbero dovuto essercene (es. lo sconto applicato 3 volte invece di 1, o più risposte 200 dove ne era ammessa una sola). Quello è il segnale della vulnerabilità sfruttata.

Un paio di accortezze

  • Verifica HTTP/2. Se il target è HTTP/1, il single-packet attack non funziona e devi ripiegare sull’attacco “last-byte sync” — ma i lab PortSwigger di questa sezione girano su HTTP/2, quindi di norma sei a posto.
  • Prima osserva, poi attacca. Manda la richiesta una volta normalmente per capire com’è una risposta “normale”: ti serve come termine di paragone per riconoscere quelle anomale.