Zwei Anfragen in Burp Comparer vergleichen

Beginner
Jetzt üben

Einleitung

Burp Suite ist eine leistungsstarke Sammlung von Werkzeugen für das Testen der Sicherheit von Webanwendungen. Eine seiner nützlichsten Funktionen ist Burp Comparer, ein Werkzeug zur Durchführung eines visuellen "Diffs" (Vergleichs) beliebiger Datensätze, wie z. B. HTTP-Anfragen oder -Antworten. Dies ist äußerst hilfreich, um subtile Unterschiede zu erkennen, die Schwachstellen aufdecken könnten, wie z. B. Änderungen an Sitzungs-Tokens, versteckten Formularfeldern oder Fehlermeldungen.

In diesem Lab lernen Sie den grundlegenden Workflow der Verwendung von Burp Comparer kennen. Sie werden zwei ähnliche HTTP-Anfragen mit dem Burp Proxy erfassen, sie an das Comparer-Werkzeug senden und dann die hervorgehobenen Unterschiede analysieren.

Zwei ähnliche Anfragen in Ihrer Proxy-Historie finden

In diesem Schritt starten Sie Burp Suite und einen Webbrowser, um zwei ähnliche Login-Anfragen zu generieren. Diese Anfragen werden dann zum Vergleich verwendet.

Starten Sie zuerst die erforderlichen Anwendungen. Sie finden sowohl Burp Suite als auch den Chromium Web Browser auf dem Desktop.

  1. Doppelklicken Sie auf das Symbol Burp Suite auf dem Desktop, um es zu starten. Wenn ein Dialogfeld erscheint, können Sie die Standardeinstellungen verwenden und auf Next und dann auf Start Burp klicken.
  2. Doppelklicken Sie auf das Symbol Chromium Web Browser auf dem Desktop.

Als Nächstes müssen Sie etwas Traffic erfassen. Wir werden versuchen, uns zweimal mit unterschiedlichen Anmeldedaten auf einer fiktiven Website anzumelden.

  1. Navigieren Sie in Burp Suite zum Tab Proxy und dort zum Unter-Tab Intercept. Wenn der Button Intercept is off anzeigt, klicken Sie darauf, sodass er zu Intercept is on wechselt.
  2. Navigieren Sie im Chromium Browser zur folgenden Adresse: http://www.google.com. Sie werden sehen, wie die Anfrage in Burp Suite "hängen bleibt".
  3. Gehen Sie zurück zu Burp Suite. Sie sehen die erfasste Anfrage. Für dieses Lab müssen wir sie nicht ändern. Klicken Sie einfach auf den Button Forward, damit die Anfrage weitergeleitet wird. Wiederholen Sie dies ein paar Mal, bis die Google-Startseite in Ihrem Browser geladen ist.
  4. Nun generieren wir unsere Zielanfragen. Suchen Sie im Browser nach "login page example". Klicken Sie auf ein beliebiges Ergebnis, das ein einfaches Login-Formular bereitstellt. Nehmen wir für dieses Beispiel an, Sie haben eine Seite gefunden und für den Benutzernamen user1 und für das Passwort pass1 eingegeben. Klicken Sie auf den Login-Button.
  5. Gehen Sie zurück zu Burp Suite und klicken Sie auf Forward, um die Login-Anfrage passieren zu lassen.
  6. Kehren Sie zum Browser zurück, geben Sie andere Anmeldedaten ein, z. B. user2 und pass2, und klicken Sie erneut auf den Login-Button.
  7. Gehen Sie zurück zu Burp Suite und klicken Sie noch einmal auf Forward.

Nachdem Sie den Traffic generiert haben, können Sie die Anfragen in Ihrer Proxy-Historie finden.

Gehen Sie in Burp Suite zum Tab Proxy und dann zum Unter-Tab HTTP history. Hier sehen Sie eine Protokolldatei aller Anfragen, die den Proxy durchlaufen haben. Durchsuchen Sie die Liste, um die beiden POST-Anfragen an die von Ihnen verwendete Login-Seite zu finden. Dies sind die beiden Anfragen, die wir in den nächsten Schritten vergleichen werden.

Die erste Anfrage mit der rechten Maustaste anklicken und 'Send to Comparer' auswählen

In diesem Schritt senden Sie die erste der beiden Login-Anfragen an das Comparer-Werkzeug.

Bleiben Sie im Tab Proxy -> HTTP history in Burp Suite, wo Sie die Liste der erfassten Anfragen sehen können.

  1. Suchen Sie die erste von Ihnen durchgeführte Login-Anfrage (z. B. diejenige, die die Anmeldedaten user1 und pass1 enthält).
  2. Klicken Sie mit der rechten Maustaste auf diese spezifische Anfrage in der Historienliste. Dadurch öffnet sich ein Kontextmenü mit vielen Optionen.
  3. Suchen Sie in diesem Kontextmenü die Option Send to Comparer und wählen Sie sie aus.

Diese Aktion kopiert die ausgewählte Anfrage und lädt sie in das Comparer-Werkzeug. Der Tab Comparer am oberen Rand des Burp Suite-Fensters sollte nun hervorgehoben oder farblich verändert sein, was darauf hinweist, dass neue Daten empfangen wurden. Sie können auf den Tab Comparer klicken, um zu bestätigen, dass ein Element geladen wurde.

Die zweite Anfrage mit der rechten Maustaste anklicken und 'Send to Comparer' auswählen

Nun senden Sie die zweite Login-Anfrage an das Comparer-Werkzeug. Dies liefert das zweite Element, das für den Vergleich benötigt wird.

  1. Navigieren Sie zurück zum Tab Proxy -> HTTP history.
  2. Suchen Sie die zweite von Ihnen durchgeführte Login-Anfrage (z. B. diejenige, die die Anmeldedaten user2 und pass2 enthält).
  3. Klicken Sie mit der rechten Maustaste auf diese zweite Anfrage in der Historienliste.
  4. Wählen Sie im erscheinenden Kontextmenü erneut Send to Comparer aus.

Nachdem Sie diese Aktion ausgeführt haben, enthält der Tab Comparer nun beide Anfragen. Wenn Sie zum Tab Comparer wechseln, sehen Sie zwei aufgelistete Elemente, die zum Vergleich bereit sind.

In Comparer die beiden Elemente auswählen und auf 'Words' klicken, um zu vergleichen

Nachdem beide Anfragen in Comparer geladen wurden, sind Sie nun bereit, den eigentlichen Vergleich durchzuführen.

  1. Navigieren Sie zum Tab Comparer in Burp Suite.
  2. Oben in der Comparer-Oberfläche sehen Sie eine Liste der von Ihnen gesendeten Elemente. Es sollten zwei Elemente angezeigt werden.
  3. Wählen Sie beide Elemente aus. Dies können Sie tun, indem Sie zuerst auf das erste Element klicken und dann die Ctrl-Taste gedrückt halten und auf das zweite Element klicken. Beide sollten nun hervorgehoben sein.
  4. Unten im Fenster sehen Sie Vergleichsoptionen. Die beiden Hauptoptionen sind Words und Bytes. Der Words-Vergleich ist ideal für textbasierte Daten wie HTTP-Anfragen, da er Unterschiede Wort für Wort analysiert, was die Ausgabe sehr lesbar macht. Der Bytes-Vergleich führt einen Byte-Level-Diff durch, der besser für Binärdaten geeignet ist.
  5. Klicken Sie auf die Schaltfläche Words, um den Vergleich zu starten.

Burp Suite verarbeitet nun die beiden Anfragen und bereitet einen visuellen Vergleich nebeneinander vor.

Die hervorgehobenen Unterschiede zwischen den Anfragen analysieren

In diesem letzten Schritt analysieren Sie die Ergebnisse des Vergleichs, um zu verstehen, was sich zwischen den beiden Anfragen geändert hat.

Nachdem Sie im vorherigen Schritt auf Words geklickt haben, wird das Hauptfenster im Comparer-Tab aktualisiert, um die beiden Anfragen nebeneinander anzuzeigen. Burp Comparer verwendet ein Farbschema, um Unterschiede leicht erkennbar zu machen:

  • Gelb: Hebt geänderte Daten hervor.
  • Rosa: Hebt hinzugefügte Daten hervor.
  • Blau: Hebt gelöschte Daten hervor.

Scrollen Sie durch die beiden Anfragefenster. Die Scrollbalken an der Seite haben ebenfalls Farbkennzeichnungen, die Ihnen helfen, schnell zu den Speicherorten der Änderungen zu springen.

Sie sollten die Unterschiede im Anfragekörper klar erkennen können. Die Werte für die Parameter Benutzername und Passwort (user1 vs. user2 und pass1 vs. pass2) werden gelb hervorgehoben, was darauf hinweist, dass sie geändert wurden.

Abhängig von der Webanwendung können Sie auch andere Unterschiede feststellen. Zum Beispiel:

  • Der Content-Length-Header könnte unterschiedlich sein, wenn die neuen Parameterwerte eine andere Länge haben.
  • Ein Cookie-Header könnte sich geändert haben, wenn der Server eine neue Sitzungs-ID zugewiesen hat.

Durch die Analyse dieser hervorgehobenen Unterschiede können Sie schnell verstehen, wie eine Webanwendung auf unterschiedliche Eingaben reagiert. Dies ist eine grundlegende Technik zur Entdeckung einer Vielzahl von Sicherheitslücken.

Zusammenfassung

In diesem Lab haben Sie den grundlegenden Workflow zur Verwendung von Burp Comparer zur Analyse von HTTP-Anfragen gelernt. Sie haben erfolgreich Netzwerkverkehr generiert, zwei ähnliche Anfragen aus Ihrer Proxy-Historie isoliert und sie an das Comparer-Tool gesendet. Durch die Durchführung eines wortbasierten Vergleichs konnten Sie die genauen Unterschiede zwischen den beiden Anfragen visuell identifizieren.

Diese Fähigkeit ist für viele Aufgaben im Bereich der Web-Sicherheitstests unerlässlich, wie z. B. die Analyse von Authentifizierungsmechanismen, das Testen auf Parameter-Tampering und die Identifizierung potenzieller Injektionspunkte durch Beobachtung, wie sich die Antwort einer Anwendung mit unterschiedlichen Eingaben ändert.