Metodo POST Aiuto Anti-CSRF con Burp Suite

1

Sto testando un'applicazione web e incontrando i token anti-CSRF all'interno di moduli che ostacolano i tentativi di fuzzing con l'intruso di Burp Suite. Un token anti-CSRF appare come csrf-token all'interno di un meta campo HTML. Alla presentazione di un modulo, lo stesso token è codificato URI e inviato come parametro autenticità-token all'interno del corpo della richiesta POST.

L'applicazione termina la sessione utente se il token non è valido, come accade quando si esegue Intruder poiché il token è monouso come previsto (non per la durata della sessione utente).

Anche se sembra semplice, non sono stato in grado di impostare le seguenti guide:
link
link

Selezionare la richiesta e il token appropriato non sembra fare molto ma testare i risultati della macro in una nuova risposta con un nuovo csrf-token . In particolare, autenticità-token non viene aggiornato tra ogni richiesta e non vi è alcuna prova che le regole di gestione delle sessioni funzionino.

Gradirei una buona guida o assistenza su questo, in quanto non sono sicuro di cosa mi manchi a questo punto.

    
posta user1330734 17.10.2018 - 03:40
fonte

2 risposte

2

Ecco la strada che ho intrapreso alla fine, grazie al video link :

  1. Identifica il token anti-CSRF (ad esempio nascosto csrf_token all'interno il modulo)
  2. Vai a Opzioni progetto > Sessioni > Aggiungi per registrare una nuova macro.
  3. In Macro Recorder, seleziona la richiesta HTTP dalla cronologia del proxy e fai clic su "OK".
  4. Seleziona l'elemento Macro e fai clic su Configura elemento.
  5. In basso a destra, Aggiungi parametro personalizzato , evidenziando la stringa che verrà estratto per l'uso come token anti-CSRF. Il ' Definisci i campi di inizio e fine dovrebbero essere aggiornati con l'appropriato termini di ricerca Compilare il campo Nome parametro, con la descrizione simile CSRF token .
  6. Aggiungi regola di gestione sessione.
  7. Aggiungi un'azione regola ( Esegui una macro ) dall'elenco a discesa.
  8. Seleziona Aggiorna la richiesta corrente con parametri corrispondenti alla risposta macro finale .
    Seleziona aggiorna solo i seguenti parametri e inserisci il nome del parametro, ad es. authentication_token .
  9. Infine, fai clic sulla scheda Ambito all'interno di Editor regole gestione sessioni e configura l'ambito in Strumenti Burp, Parametri e URL ambito desiderati.

Ho trascorso più tempo di quanto volessi su questo argomento, quindi spero che questo aiuti qualcuno a risparmiare un po 'di dolore; se non è chiaro fammelo sapere e proverò a colmare le lacune.

    
risposta data 22.10.2018 - 13:07
fonte
0

Sembra che tu sia sulla linea giusta. Non esiste un'esercitazione più dettagliata di quella che hai collegato.

Per aiutarti a diagnosticare cosa non va, apri Sessions Tracer. Inoltre, invia una richiesta al ripetitore che ha un token di autenticità. Quello che si vuole vedere è che quando si preme Go in Repeater, la regola di gestione della sessione si attiva, esegue una macro per recuperare un nuovo token e aggiorna la richiesta in Repeater. Sapere esattamente quale parte di questo non funziona dovrebbe aiutarti a risolverlo.

Poiché il token si trova in un metatag, è necessario utilizzare un percorso dei parametri personalizzato. In Macro Editor, fai clic su Configura elemento, quindi aggiungi un percorso dei parametri personalizzato.

In alternativa, usa Burp 2 che dovrebbe gestirlo automaticamente.

    
risposta data 17.10.2018 - 11:44
fonte

Leggi altre domande sui tag