
Estensione Burp per testare problemi di autorizzazione. Ripetizione automatica delle richieste ed estrazione dei valori dei parametri al volo.
L'estensione Burp ti aiuta a trovare bug di autorizzazione. Basta navigare nell'applicazione web con un utente con privilegi elevati e lasciare che Auth Analyzer ripeta le tue richieste per qualsiasi utente non privilegiato definito. Con la possibilità di definire parametri, Auth Analyzer è in grado di estrarre e sostituire automaticamente i valori dei parametri. In questo modo, ad esempio, i token CSRF o persino intere caratteristiche di sessione possono essere estratti automaticamente dalle risposte e sostituiti nelle richieste successive. Ogni risposta verrà analizzata e contrassegnata in base al suo stato di bypass.
Esistono altre estensioni Burp che fanno sostanzialmente cose simili. Tuttavia, la potenza della funzionalità dei parametri e dell'estrazione automatica dei valori è il motivo principale per scegliere Auth Analyzer. Con questo non devi conoscere il contenuto dei dati che devono essere scambiati. Puoi facilmente definire i tuoi parametri e cookie e Auth Analyzer catturerà al volo i valori necessari. Auth Analyzer non effettua richieste preflight. Fa sostanzialmente la stessa cosa della tua app web. Con i tuoi ruoli/sessioni utente definiti.
(1) Crea o clona una sessione per ogni utente che desideri testare.
(2) Salva e carica la configurazione della sessione
(3) Specifica le caratteristiche della sessione (intestazione/i e/o parametro/i da sostituire)
(4) Imposta i filtri se necessario
(5) Avvia / Ferma e Metti in pausa Auth Analyzer
(6) Specifica il filtro della tabella
(7) Naviga nell'app web con un altro utente e traccia i risultati delle richieste ripetute
(8) Esporta i dati della tabella in XML o HTML
(9) Analizza manualmente le richieste/risposte originali e ripetute

Se hai le risorse che desideri testare nella tua sitemap, è molto facile e veloce eseguire i test di autorizzazione. Nel primo passo definisci le sessioni che desideri testare. Poi espandi la tua sitemap, seleziona le risorse e ripeti le richieste tramite il menu contestuale. Inoltre puoi definire alcune opzioni su quali richieste ripetere e quali no. Con questo puoi eseguire test di autorizzazione di un sito web complesso in pochi secondi.
Auth Analyzer ha la possibilità di definire parametri che vengono sostituiti prima di ripetere la richiesta per la sessione data. Il valore per il parametro specificato può essere impostato secondo diverse esigenze.
Il valore del parametro verrà estratto se si verifica in una risposta con uno dei seguenti vincoli:
Una risposta con un'intestazione Set-Cookie con un nome di cookie impostato al Nome del Campo di Estrazione definito
Una Risposta di Documento HTML contiene un campo di input con l'attributo name impostato al Nome del Campo di Estrazione definito
Una Risposta JSON contiene una chiave impostata al Nome del Campo di Estrazione
Per impostazione predefinita, Auth Analyzer tenta di estrarre automaticamente il valore del parametro da tutte le posizioni. Tuttavia, facendo clic sull'icona delle impostazioni del parametro è possibile limitare la posizione di estrazione automatica secondo le proprie esigenze.

Il parametro verrà estratto se la risposta contiene la Stringa Da e la Stringa A specificate in una riga. La stringa Da-A può essere impostata manualmente o direttamente tramite il menu contestuale corrispondente. Basta contrassegnare la parola che si desidera estrarre in qualsiasi risposta e impostare come Estrai Da-A per il parametro desiderato.
Per impostazione predefinita, Auth Analyzer tenta di estrarre il valore dall'intestazione e dal corpo nella maggior parte delle risposte testuali. Tuttavia, facendo clic sull'icona delle impostazioni del parametro è possibile limitare la posizione di estrazione Da-A secondo le proprie esigenze.

È possibile definire un valore di parametro statico. Questo può essere utilizzato ad esempio per token CSRF statici o credenziali di accesso.
Verrà richiesto un input se il parametro definito è presente in una richiesta. Questo può essere utilizzato ad esempio per impostare codici 2FA.
Se un valore è impostato (estratto o definito dall'utente), verrà sostituito se il parametro corrispondente è presente in una richiesta. Le condizioni per la sostituzione dei parametri sono:
Il parametro verrà sostituito se è presente in una delle seguenti posizioni:

Nel Percorso (ad es. /api/user/99/profile --> se è presente un parametro chiamato user, il valore 99 verrà sostituito)
Parametro URL (ad es. email=hans.wurst[a]gmail.com)
Parametro Cookie (ad es. PHPSESSID=mb8rkrcdg8765dt91vpum4u21v)
Parametro Body sia URL-Encoded che Multipart Form Data
Parametro JSON (ad es. {"email":"hans.wurst[a]gmail.com"})
Per impostazione predefinita, il valore del parametro verrà sostituito in ogni posizione. Tuttavia, facendo clic sull'icona delle impostazioni del parametro è possibile limitare la posizione secondo le proprie esigenze.

Il parametro definito può essere rimosso completamente, ad esempio per testare i meccanismi di controllo CSRF.