
Burp-Erweiterung zum Testen von Autorisierungsproblemen. Automatisiertes Wiederholen von Anfragen und Extrahieren von Parameterwerten im laufenden Betrieb.
Die Burp-Erweiterung hilft Ihnen, Autorisierungsfehler zu finden. Navigieren Sie einfach mit einem hochprivilegierten Benutzer durch die Webanwendung und lassen Sie den Auth Analyzer Ihre Anfragen für jeden definierten nicht privilegierten Benutzer wiederholen. Mit der Möglichkeit, Parameter zu definieren, kann der Auth Analyzer Parameterwerte automatisch extrahieren und ersetzen. Dadurch können beispielsweise CSRF-Token oder sogar gesamte Sitzungsmerkmale automatisch aus Antworten extrahiert und in weiteren Anfragen ersetzt werden. Jede Antwort wird analysiert und mit einem Bypass-Status versehen.
Es gibt bereits andere Burp-Erweiterungen, die im Grunde ähnliche Aufgaben erfüllen. Die Stärke der Parameterfunktion und der automatischen Wertextraktion ist jedoch der Hauptgrund, sich für Auth Analyzer zu entscheiden. Damit müssen Sie den Inhalt der auszutauschenden Daten nicht kennen. Sie können einfach Ihre Parameter und Cookies definieren, und Auth Analyzer fängt spontan die benötigten Werte ab. Der Auth Analyzer führt keine Vorab-Anfragen durch. Er macht im Grunde dasselbe wie Ihre Webanwendung, nur mit den von Ihnen definierten Benutzerrollen / Sitzungen.
(1) Erstellen oder klonen Sie eine Sitzung für jeden Benutzer, den Sie testen möchten.
(2) Sitzungskonfiguration speichern und laden
(3) Sitzungsmerkmale festlegen (Header(s) und/oder Parameter zum Ersetzen)
(4) Bei Bedarf Filter setzen
(5) Auth Analyzer starten / stoppen / pausieren
(6) Tabellenfilter festlegen
(7) Mit einem anderen Benutzer durch die Web-App navigieren und Ergebnisse der wiederholten Anfragen verfolgen
(8) Tabellendaten als XML oder HTML exportieren
(9) Ursprüngliche und wiederholte Anfragen/Antworten manuell analysieren

Wenn Sie die zu testenden Ressourcen in Ihrer Sitemap haben, ist es sehr einfach und schnell, Ihre Autorisierungstests durchzuführen. Definieren Sie im ersten Schritt die zu testenden Sitzungen. Erweitern Sie dann Ihre Sitemap, wählen Sie die Ressourcen aus und wiederholen Sie die Anfragen über das Kontextmenü. Zusätzlich können Sie Optionen festlegen, welche Anfragen wiederholt werden sollen und welche nicht. Damit können Sie innerhalb von Sekunden Autorisierungstests für eine komplexe Website durchführen.
Der Auth Analyzer bietet die Möglichkeit, Parameter zu definieren, die vor dem Wiederholen der Anfrage für die jeweilige Sitzung ersetzt werden. Der Wert für den angegebenen Parameter kann nach verschiedenen Anforderungen festgelegt werden.
Der Parameterwert wird extrahiert, wenn er in einer Antwort mit einer der folgenden Bedingungen vorkommt:
Eine Antwort mit einem Set-Cookie-Header, dessen Cookie-Name dem definierten Extract Field Name entspricht
Eine HTML-Dokumentantwort enthält ein Eingabefeld mit dem Attribut name, das dem definierten Extract Field Name entspricht
Eine JSON-Antwort enthält einen Schlüssel, der dem Extract Field Name entspricht
Standardmäßig versucht der Auth Analyzer, den Parameterwert aus allen Positionen automatisch zu extrahieren. Wenn Sie jedoch auf das Parametersymbol für die Einstellungen klicken, können Sie die automatische Extraktionspositionen nach Ihren Bedürfnissen einschränken.

Der Parameter wird extrahiert, wenn die Antwort den angegebenen From String und To String in einer Zeile enthält. Der Von-Bis-String kann entweder manuell oder direkt über das entsprechende Kontextmenü festgelegt werden. Markieren Sie einfach das Wort, das Sie in einer Antwort extrahieren möchten, und legen Sie es als From-To Extract für den gewünschten Parameter fest.
Standardmäßig versucht der Auth Analyzer, den Wert aus Header und Body der meisten textuellen Antworten zu extrahieren. Wenn Sie jedoch auf das Parametersymbol für die Einstellungen klicken, können Sie die Von-Bis-Extraktionspositionen nach Ihren Bedürfnissen einschränken.

Ein statischer Parameterwert kann definiert werden. Dies kann beispielsweise für statische CSRF-Token oder Anmeldeinformationen verwendet werden.
Sie werden zur Eingabe aufgefordert, wenn der definierte Parameter in einer Anfrage vorhanden ist. Dies kann beispielsweise verwendet werden, um 2FA-Codes festzulegen.
Wenn ein Wert festgelegt (extrahiert oder vom Benutzer definiert) ist, wird er ersetzt, wenn der entsprechende Parameter in einer Anfrage vorhanden ist. Die Bedingungen für die Parameterersetzung sind:
Der Parameter wird ersetzt, wenn er an einer der folgenden Stellen vorhanden ist:

Im Pfad (z.B. /api/user/99/profile – wenn ein Parameter namens user vorhanden ist, wird der Wert 99 ersetzt)
URL-Parameter (z.B. email=hans.wurst[a]gmail.com)
Cookie-Parameter (z.B. PHPSESSID=mb8rkrcdg8765dt91vpum4u21v)
Body-Parameter entweder URL-kodiert oder Multipart-Form-Daten
JSON-Parameter (z.B. {"email":"hans.wurst[a]gmail.com"})
Standardmäßig wird der Parameterwert an jeder Stelle ersetzt. Wenn Sie jedoch auf das Parametersymbol für die Einstellungen klicken, können Sie die Positionen nach Ihren Bedürfnissen einschränken.

Der definierte Parameter kann vollständig entfernt werden, um beispielsweise CSRF-Prüfmechanismen zu testen.