
AuthMatrix è un'estensione di Burp Suite che fornisce un modo semplice per testare l'autorizzazione in applicazioni web e servizi web.
AuthMatrix è un'estensione per Burp Suite che fornisce un modo semplice per testare l'autorizzazione in applicazioni web e servizi web. Con AuthMatrix, i tester si concentrano sulla definizione accurata delle tabelle di utenti, ruoli e richieste per la loro applicazione target specifica in anticipo. Queste tabelle sono strutturate in un formato simile a quello di una matrice di controllo degli accessi comune in varie metodologie di modellazione delle minacce.
Una volta assemblate le tabelle, i tester possono utilizzare la semplice interfaccia click-to-run per avviare tutte le combinazioni di ruoli e richieste. I risultati possono essere confermati con un'interfaccia facile da leggere, con codifica a colori che indica eventuali vulnerabilità di autorizzazione rilevate nel sistema. Inoltre, l'estensione fornisce la possibilità di salvare e caricare configurazioni target per test di regressione semplici.
AuthMatrix può essere installato tramite il BApp Store di Burp Suite. Da Burp Suite, seleziona la scheda Extender, seleziona BApp Store, seleziona AuthMatrix e fai clic su installa.
Per l'installazione manuale, scarica AuthMatrix.py da questo repository. Quindi da Burp Suite, seleziona la scheda Extender, fai clic sul pulsante Aggiungi, cambia il tipo di estensione in Python e seleziona il file Python di AuthMatrix.
AuthMatrix richiede la configurazione di Burp Suite per utilizzare Jython. Istruzioni facili per farlo si trovano al seguente URL.
https://portswigger.net/burp/help/extender.html#options_pythonenv
Assicurati di utilizzare Jython versione 2.7.0 o superiore per garantire la compatibilità.
Crea ruoli per tutti i livelli di privilegio all'interno dell'applicazione target. (I ruoli comuni possono includere Utente, Amministratore e Anonimo)
Crea un numero sufficiente di utenti per coprire questi vari ruoli e seleziona le caselle di controllo per tutti i ruoli a cui l'utente appartiene. I ruoli "Singolo-Utente" contenenti un solo utente verranno configurati automaticamente per aiutare nei test di risorse cross-user. Se non sono necessari, sentiti libero di eliminarli facendo clic con il tasto destro sulla colonna nella Tabella delle Richieste.
Genera token di sessione per ogni utente dalla scheda Repeater e inseriscili nella colonna pertinente all'interno della Tabella Utenti. I cookie possono essere inviati direttamente agli utenti tramite il menu contestuale disponibile in Repeater. AuthMatrix analizzerà intelligentemente la stringa dei cookie dalla tabella e li sostituirà/aggiungerà alle richieste dove applicabile.
NOTA: Il campo Cookie è opzionale. Se il target utilizza invece intestazioni HTTP, queste possono essere aggiunte facendo clic sul pulsante "Nuova Intestazione".
Per configurazioni più avanzate, incluso il refresh automatico delle credenziali, vedere l'esempio "Catene per l'autenticazione degli utenti" di seguito.
Da un'altra area di Burp Suite (es. scheda Target, scheda Repeater, ecc.) fai clic con il tasto destro su una richiesta e seleziona "Send to AuthMatrix."
Nella Tabella delle Richieste di AuthMatrix, seleziona le caselle di controllo per tutti i ruoli autorizzati a effettuare ciascuna richiesta HTTP.
Personalizza una Regex di risposta in base al comportamento previsto della risposta della richiesta per determinare se l'azione ha avuto successo.
Le regex comuni includono intestazioni della risposta HTTP, messaggi di successo all'interno del corpo o altre variazioni all'interno del corpo della pagina.
NOTA: Le richieste possono essere configurate per utilizzare una Regex di fallimento invece tramite il menu contestuale (es. Gli utenti autenticati non dovrebbero mai ricevere un HTTP 303).
Fai clic su Esegui in basso per eseguire tutte le richieste o fai clic con il tasto destro su diverse richieste e seleziona esegui. Osserva che la tabella adiacente mostrerà risultati con codifica a colori.
Verde indica nessuna vulnerabilità rilevata
Rosso indica che la richiesta potrebbe contenere una vulnerabilità
Blu indica che il risultato potrebbe essere un falso positivo. (Generalmente significa che è presente un token di sessione non valido/scaduto o una regex errata)


Le catene forniscono un modo per copiare un valore statico o dinamico nel corpo di una richiesta. Questi valori possono essere estratti dalla risposta di una richiesta precedentemente eseguita (utilizzando una regex) o specificando valori stringa statici specifici per l'utente.
I casi d'uso più comuni per le Catene sono:
Popolare le richieste con token CSRF validi
Testare ID/GUID appena creati per problemi di autorizzazione cross-user
Automatizzare l'autenticazione e il refresh della sessione
Una voce di Catena ha i seguenti valori:
Nome Catena: un nome descrittivo
Sorgente: una stringa utente statica definita nella Tabella Utenti o l'ID della richiesta sorgente nella Tabella delle Richieste
Regex di estrazione: una regex utilizzata per estrarre un valore dalla risposta della richiesta sorgente. Questo campo viene utilizzato solo quando viene specificata una Richiesta nel campo precedente. Se utilizzato, deve contenere un raggruppamento tra parentesi da estrarre [es. (.*)]
Destinazioni: un elenco di ID Richiesta in cui verrà sostituito il valore sorgente.
Regex di sostituzione: una regex utilizzata per determinare dove inserire il valore sorgente. Deve contenere un raggruppamento tra parentesi da sostituire [es. (.*)]
Usa valori da: specifica se utilizzare il valore sorgente ottenuto da un utente selezionato (utile per test di risorse cross-user) o se utilizzare i valori da tutti gli utenti e inserirli nelle richieste di destinazione del rispettivo utente (utile per attività di automazione come il recupero del token CSRF).
NOTA: Le richieste vengono eseguite in ordine di riga, tuttavia, se viene rilevata una dipendenza di catena, AuthMatrix eseguirà le richieste nell'ordine richiesto.



Per alcuni target, può essere più semplice configurare AuthMatrix per rilevare la condizione di risposta quando una richiesta ha fallito. Ad esempio, se un sito target restituisce dati univoci sulle richieste riuscite, ma restituisce sempre un HTTP 303 quando viene eseguita un'azione non autorizzata.
In questa modalità, AuthMatrix convaliderà questa regex per tutti gli utenti non appartenenti a un ruolo autorizzato.
Per fare ciò, fai clic con il tasto destro sulla richiesta e seleziona "Toggle Regex Mode". Il campo regex verrà evidenziato in viola per indicare che AuthMatrix eseguirà la richiesta in modalità regex di fallimento.
NOTA: Il rilevamento e l'evidenziazione dei falsi positivi potrebbero non funzionare in modalità regex di fallimento.
