Einleitung
In diesem Lab lernen Sie eine der leistungsstarken Funktionen von Burp Suite kennen: "Site Maps vergleichen" (Compare site maps). Diese Funktion ist für das Testen der Sicherheit von Webanwendungen unerlässlich, insbesondere zur Identifizierung von Autorisierungsschwachstellen. Durch den Vergleich der Seitenstruktur und der Inhalte, auf die Benutzer mit unterschiedlichen Berechtigungsstufen zugreifen können, können Sie schnell Endpunkte oder Daten erkennen, die unsachgemäß offengelegt werden.
Sie werden die folgenden Aktionen ausführen:
- Starten einer einfachen, lokalen Webanwendung mit zwei Benutzerrollen: einem Standardbenutzer und einem Administrator.
- Verwenden des integrierten Browsers von Burp Suite, um die Anwendung als Benutzer mit geringen Berechtigungen zu erkunden.
- Initiieren des Prozesses zum Vergleichen von Site Maps, wobei die Ansicht des Benutzers mit geringen Berechtigungen als erste Map gespeichert wird.
- Anmelden als Benutzer mit hohen Berechtigungen und erneutes Erkunden der Anwendung, um die Site Map mit neuen administrativen Funktionen zu füllen.
- Abschließen des Vergleichs und Analysieren der Ergebnisse, um Inhalte und Endpunkte zu identifizieren, die nur dem Administrator zugänglich sind.
Eine Anwendung als Benutzer mit geringen Berechtigungen durchsuchen
In diesem Schritt starten Sie Burp Suite, konfigurieren dessen Browser und durchsuchen die Zielanwendung als Standardbenutzer mit geringen Berechtigungen. Dadurch wird die Site Map von Burp mit allen Endpunkten und Ressourcen gefüllt, auf die dieser Benutzer zugreifen kann.
Öffnen Sie zuerst Burp Suite. Sie finden es im Anwendungsmenü, normalerweise unter Applications -> Other -> Burp Suite Community Edition. Wenn Sie dazu aufgefordert werden, wählen Sie ein temporäres Projekt aus und klicken Sie auf Next, dann auf Start Burp.
Sobald Burp Suite läuft, müssen Sie dessen integrierten Browser verwenden, um sicherzustellen, dass der gesamte Datenverkehr korrekt weitergeleitet wird.
- Gehen Sie zum Tab
Proxyund dann zum Unter-TabIntercept. - Klicken Sie auf die Schaltfläche
Open Browser. Ein neues Chromium-Browserfenster wird geöffnet.
Interagieren Sie nun mit der Webanwendung über diesen Browser.
- Navigieren Sie in der Adressleiste des neuen Browsers zu
http://127.0.0.1:5000. - Sie sehen eine Anmeldeseite. Geben Sie
userfür den Benutzernamen undpasswordfür das Passwort ein. - Klicken Sie auf die Schaltfläche
Login. - Sie werden zum Benutzer-Dashboard weitergeleitet. Klicken Sie auf eventuell vorhandene Links, aber für diese einfache Anwendung reicht es aus, das Dashboard anzuzeigen.
Kehren Sie nun zum Hauptfenster von Burp Suite zurück und navigieren Sie zum Tab Target -> Site map. Sie sehen, wie die Struktur der Anwendung basierend auf Ihrem Browsing abgebildet wird.
In Target > Site map, Host auswählen und 'Site Maps vergleichen'
In diesem Schritt initiieren Sie den Prozess zum Vergleichen von Site Maps. Sie haben die Site Map bereits mit der Perspektive eines Benutzers mit geringen Berechtigungen gefüllt. Nun teilen Sie Burp Suite mit, dass Sie diese aktuelle Map als ersten Vergleichspunkt verwenden möchten.
- Stellen Sie im Burp Suite-Fenster sicher, dass Sie sich im Tab
Target->Site mapbefinden. - Im linken Bereich sehen Sie eine Baumansicht der von Ihnen besuchten Seiten. Suchen und wählen Sie den Host unserer Anwendung aus, der
http://127.0.0.1:5000lautet. - Klicken Sie mit der rechten Maustaste auf den Host
http://127.0.0.1:5000. Dies öffnet ein Kontextmenü mit vielen Optionen. - Navigieren Sie im Kontextmenü zu
Engagement toolsund klicken Sie dann aufCompare site maps.
Diese Aktion öffnet den Assistenten "Site Maps vergleichen" (Compare site maps), der Sie durch die Einrichtung des Vergleichs führt.
(Bildbeschreibung: Ein Screenshot, der das Rechtsklick-Kontextmenü in der Site Map von Burp Suite zeigt, wobei der Cursor die Option 'Compare site maps' unter 'Engagement tools' hervorhebt.)
Im Assistenten 'Aktuelle Site Map verwenden' für Map 1 auswählen
In diesem Schritt konfigurieren Sie die erste der beiden Site Maps für den Vergleich. Der Assistent, den Sie im vorherigen Schritt geöffnet haben, ermöglicht es Ihnen, die Quelle für beide Maps zu definieren.
Der Assistent "Site Maps vergleichen" (Compare site maps) ist nun geöffnet. Er hat zwei Hauptbereiche, einen für "Site map 1" und einen für "Site map 2". Sie werden die erste Map jetzt und die zweite Map später konfigurieren.
- Im Konfigurationsbereich "Site map 1" sehen Sie mehrere Optionen, von wo die Map geladen werden soll.
- Wählen Sie die Optionsschaltfläche (radio button) mit der Bezeichnung
Use current site map. Dies weist Burp an, einen Schnappschuss der Site Map in ihrem aktuellen Zustand (der die Sitzung des Benutzers mit geringen Berechtigungen widerspiegelt) zu erstellen und diesen als Basis für den Vergleich zu verwenden. - Klicken Sie noch nicht auf
OK. Der Assistent muss für beide Maps konfiguriert werden. Vorerst haben Sie die erste Map festgelegt. Sie lassen diesen Assistenten geöffnet, während Sie die nächsten Schritte ausführen.
Sie haben nun erfolgreich die erste Site Map für den Vergleich definiert. Der Assistent wartet darauf, dass Sie die zweite Map definieren.
Als Benutzer mit hohen Berechtigungen anmelden und die Site Map erneut anfordern
In diesem Schritt wechseln Sie zu einem Benutzerkonto mit hohen Berechtigungen und durchsuchen die Anwendung erneut. Dies fügt Burp's Site Map neue Endpunkte hinzu, die nur für Administratoren zugänglich sind, was genau das ist, was wir beim Vergleich erkennen wollen.
- Kehren Sie zum Burp-eingebetteten Chromium-Browserfenster zurück.
- Navigieren Sie zurück zur Anmeldeseite unter
http://127.0.0.1:5000. Dies meldet Sie effektiv vom 'user'-Konto ab. - Geben Sie auf der Anmeldeseite
adminfür den Benutzernamen undadminpasswordfür das Passwort ein. - Klicken Sie auf die Schaltfläche
Login. - Sie werden zum Dashboard weitergeleitet, das nun eine Willkommensnachricht für den 'admin'-Benutzer anzeigt und einen neuen Link enthält:
Go to Admin Panel. - Klicken Sie auf den Link
Go to Admin Panel. Dies führt Sie zur Seite/admin, die für den Standardbenutzer nicht zugänglich war.
Durch die Ausführung dieser Aktionen haben Sie Burp Suite dazu veranlasst, Anfragen an neue Endpunkte (wie /admin) zu protokollieren und unterschiedliche Antworten für bestehende Endpunkte (wie /dashboard) zu sehen. Die Live-Site-Map in Burp ist nun mit diesen neuen Informationen aktualisiert.
Für Map 2 'Aktuelle Site Map verwenden' auswählen und Unterschiede anzeigen
In diesem letzten Schritt schließen Sie die Vergleichskonfiguration ab und analysieren die Ergebnisse, um die Unterschiede zwischen den Sitzungen mit geringen und hohen Berechtigungen zu finden.
- Kehren Sie zum Burp Suite-Fenster zurück, wo der Assistent "Site Maps vergleichen" (Compare site maps) noch geöffnet sein sollte.
- Konzentrieren Sie sich nun auf den Konfigurationsbereich "Site map 2".
- Wählen Sie, genau wie für die erste Map, die Optionsschaltfläche (radio button) mit der Bezeichnung
Use current site map. Diesmal enthält die "aktuelle" Map alle Anfragen sowohl von der Sitzung mit geringen als auch von der Sitzung mit hohen Berechtigungen. - Klicken Sie auf die Schaltfläche
OK, um den Vergleich durchzuführen.
Ein neues Fenster "Site Map Vergleich" (Site map comparison) wird angezeigt, das die Ergebnisse darstellt. Dieses Fenster hat drei Hauptbereiche, die Folgendes anzeigen:
- Nur in Map 1 enthaltene Elemente (Items only in map 1): Endpunkte, die in der ersten Sitzung vorhanden waren, aber nicht in der zweiten.
- Nur in Map 2 enthaltene Elemente (Items only in map 2): Endpunkte, die nur in der zweiten Sitzung entdeckt wurden. Hier finden Sie Autorisierungsprobleme.
- Elemente mit unterschiedlichen Antworten (Items with different responses): Endpunkte, auf die beide Benutzer zugreifen konnten, die aber unterschiedliche Inhalte zurückgaben.
Betrachten Sie die Liste "Nur in Map 2 enthaltene Elemente" (Items only in map 2). Sie sollten den Endpunkt /admin sehen. Dies zeigt Ihnen sofort, dass die Seite /admin nur für den Benutzer mit hohen Berechtigungen zugänglich oder auffindbar ist.
Klicken Sie in der Liste "Elemente mit unterschiedlichen Antworten" (Items with different responses) auf den Eintrag /dashboard. Unten sehen Sie die Anfrage und die Antwort für jede Map. Verwenden Sie die Schaltfläche Diff, um einen Seitenvergleich anzuzeigen, der den zusätzlichen Link "Go to Admin Panel" hervorhebt, der für den Administrator verfügbar ist.
Zusammenfassung
In diesem Lab haben Sie erfolgreich die Funktion "Site Maps vergleichen" (Compare site maps) von Burp Suite verwendet, um die Zugriffskontrollen einer Anwendung zu analysieren. Sie haben gelernt, wie Sie systematisch den Zustand einer Anwendung aus der Perspektive zweier verschiedener Benutzer erfassen und diese dann vergleichen, um Unterschiede automatisch zu identifizieren.
Insbesondere haben Sie einen administrativen Endpunkt (/admin) entdeckt, der für einen Standardbenutzer nicht sichtbar war, ein klassisches Beispiel für eine Autorisierungsschwachstelle, die mit dieser Technik aufgedeckt werden kann. Diese Methode ist ein grundlegender Bestandteil einer gründlichen Sicherheitsbewertung von Webanwendungen, da sie es Ihnen ermöglicht, die Angriffsfläche effizient abzubilden und potenzielle Sicherheitslücken zu finden.
