Zwei Site Maps in Burp Suite vergleichen

Beginner
Jetzt üben

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:

  1. Starten einer einfachen, lokalen Webanwendung mit zwei Benutzerrollen: einem Standardbenutzer und einem Administrator.
  2. Verwenden des integrierten Browsers von Burp Suite, um die Anwendung als Benutzer mit geringen Berechtigungen zu erkunden.
  3. Initiieren des Prozesses zum Vergleichen von Site Maps, wobei die Ansicht des Benutzers mit geringen Berechtigungen als erste Map gespeichert wird.
  4. Anmelden als Benutzer mit hohen Berechtigungen und erneutes Erkunden der Anwendung, um die Site Map mit neuen administrativen Funktionen zu füllen.
  5. 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.

  1. Gehen Sie zum Tab Proxy und dann zum Unter-Tab Intercept.
  2. Klicken Sie auf die Schaltfläche Open Browser. Ein neues Chromium-Browserfenster wird geöffnet.

Interagieren Sie nun mit der Webanwendung über diesen Browser.

  1. Navigieren Sie in der Adressleiste des neuen Browsers zu http://127.0.0.1:5000.
  2. Sie sehen eine Anmeldeseite. Geben Sie user für den Benutzernamen und password für das Passwort ein.
  3. Klicken Sie auf die Schaltfläche Login.
  4. 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.

  1. Stellen Sie im Burp Suite-Fenster sicher, dass Sie sich im Tab Target -> Site map befinden.
  2. 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:5000 lautet.
  3. Klicken Sie mit der rechten Maustaste auf den Host http://127.0.0.1:5000. Dies öffnet ein Kontextmenü mit vielen Optionen.
  4. Navigieren Sie im Kontextmenü zu Engagement tools und klicken Sie dann auf Compare 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.

  1. Im Konfigurationsbereich "Site map 1" sehen Sie mehrere Optionen, von wo die Map geladen werden soll.
  2. 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.
  3. 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.

  1. Kehren Sie zum Burp-eingebetteten Chromium-Browserfenster zurück.
  2. Navigieren Sie zurück zur Anmeldeseite unter http://127.0.0.1:5000. Dies meldet Sie effektiv vom 'user'-Konto ab.
  3. Geben Sie auf der Anmeldeseite admin für den Benutzernamen und adminpassword für das Passwort ein.
  4. Klicken Sie auf die Schaltfläche Login.
  5. 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.
  6. 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.

  1. Kehren Sie zum Burp Suite-Fenster zurück, wo der Assistent "Site Maps vergleichen" (Compare site maps) noch geöffnet sein sollte.
  2. Konzentrieren Sie sich nun auf den Konfigurationsbereich "Site map 2".
  3. 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.
  4. 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.