Einführung
Willkommen zu diesem Lab über die Verwendung von Burp Repeater. Burp Repeater ist ein einfaches, aber leistungsstarkes Werkzeug innerhalb der Burp Suite zur manuellen Manipulation und erneuten Ausgabe einzelner HTTP-Anfragen sowie zur Analyse der Antworten der Anwendung. Es ist ein grundlegendes Werkzeug für jeden Webanwendungs-Sicherheitstester, da es Ihnen ermöglicht, nach Schwachstellen zu suchen, indem Sie beobachten, wie ein Server auf unterschiedliche Eingaben reagiert.
In diesem Lab lernen Sie den Kern-Workflow von Burp Repeater kennen. Sie beginnen damit, eine Standardanfrage von einer Webanwendung zu erfassen, sie an Repeater zu senden, ihre Parameter zu ändern und sie dann erneut an den Server zu senden. Abschließend analysieren Sie die Antwort des Servers auf Ihre geänderte Anfrage und lernen, wie Sie durch die Anfragenhistorie navigieren.
Eine Anfrage in einem Repeater-Tab auswählen
In diesem Schritt erfassen Sie eine Anfrage von einer Beispiel-Webanwendung und senden sie zur Bearbeitung an Burp Repeater. Die Laborumgebung hat bereits eine Webanwendung und Burp Suite für Sie gestartet. Der Browser ist so konfiguriert, dass er den Datenverkehr über Burp Suite proxyed.
Lassen Sie uns zunächst etwas Traffic generieren.
- Öffnen Sie den Webbrowser vom Desktop aus.
- Navigieren Sie zur Zielanwendung, indem Sie
http://127.0.0.1:5000in die Adressleiste eingeben. - Sie sehen ein einfaches Anmeldeformular. Lassen Sie die Standardwerte (
userundpass) stehen und klicken Sie auf die SchaltflächeSubmit.
Finden wir nun diese Anfrage in Burp Suite.
- Wechseln Sie zum Burp Suite-Fenster.
- Gehen Sie zum Tab
Proxyund klicken Sie dann auf den Unter-TabHTTP history. Sie sehen eine Liste der Anfragen, die Ihr Browser gestellt hat. - Suchen Sie nach einer
POST-Anfrage an den Endpunkt/login. Sie sollte sich nahe dem oberen Ende der Liste befinden. Klicken Sie darauf, um ihre Details in den darunter liegenden Panels anzuzeigen. - Klicken Sie mit der rechten Maustaste irgendwo im Anfrage-Panel und wählen Sie im Kontextmenü
Send to Repeateraus. Sie können auch die TastenkombinationStrg+Rverwenden.
Ein neuer Tab wird erscheinen und im Werkzeug Repeater orange aufleuchten. Klicken Sie auf den Tab Repeater, um die gerade gesendete Anfrage anzuzeigen.
Einen Header- oder Parameterwert ändern
In diesem Schritt ändern Sie die Anfrage, die Sie an den Repeater-Tab gesendet haben. Die Repeater-Benutzeroberfläche ist in zwei Hauptbereiche unterteilt: das Anfrage-Panel auf der linken Seite und das Antwort-Panel auf der rechten Seite. Derzeit ist das Antwort-Panel leer, da wir die Anfrage noch nicht aus Repeater gesendet haben.
Konzentrieren wir uns auf das Anfrage-Panel auf der linken Seite. Sie können hier jeden Teil der Anfrage bearbeiten, bevor Sie sie senden. Dies umfasst die Request Line, Header und den Request Body.
- Schauen Sie auf den unteren Teil des Anfrage-Panels. Sie sehen den Body der
POST-Anfrage, der die Formulardaten enthält:username=user&password=pass. - Testen wir, ob wir uns als ein anderer Benutzer anmelden können. Ändern Sie den Wert des
username-Parameters vonuserzuadmin. Die Zeile sollte nun wie folgt aussehen:username=admin&password=pass. - Sie können auch Header ändern. Finden Sie zum Beispiel den
User-Agent-Header und ändern Sie seinen Wert zu etwas Benutzerdefiniertem, wie z. B.My-Custom-Browser/1.0.
Ihre geänderte Anfrage im linken Panel ist nun bereit zum Senden.
Auf die Schaltfläche 'Send' klicken, um die geänderte Anfrage zu senden
In diesem Schritt senden Sie die geänderte HTTP-Anfrage an den Server. Nachdem Sie die Anfrage im linken Panel bearbeitet haben, besteht der nächste Schritt darin, sie zu übertragen.
Oben im Anfrage-Panel finden Sie eine Schaltfläche Send. Diese Schaltfläche wird verwendet, um die aktuell im Panel angezeigte Anfrage zu senden.
- Stellen Sie sicher, dass Ihre Anfrage wie im vorherigen Schritt beschrieben geändert wurde (z. B.
usernameist aufadmingesetzt). - Klicken Sie auf die Schaltfläche
Send.
Burp Repeater sendet diese geänderte Anfrage nun an den Zielserver unter 127.0.0.1:5000. Nach einem Moment wird die Antwort des Servers im Antwort-Panel auf der rechten Seite angezeigt.
Die Antwort des Servers analysieren
In diesem Schritt analysieren Sie die Antwort des Servers auf Ihre geänderte Anfrage. Nachdem Sie auf Send geklickt haben, wurde das Antwort-Panel auf der rechten Seite mit den vom Server zurückgegebenen Daten gefüllt.
- Untersuchen Sie das Antwort-Panel. Sie sehen die vollständige HTTP-Antwort, einschließlich der Statuszeile (z. B.
HTTP/1.0 200 OK), der Antwort-Header und des Antwort-Bodys. - Schauen Sie sich den Antwort-Body an. Da unsere Testanwendung den Benutzernamen in ihrer Ausgabe widerspiegelt, sollten Sie die Meldung sehen:
Login attempt for user: 'admin' failed. Please try again.. Dies bestätigt, dass der Server unsere geänderten Eingaben verarbeitet hat. - Über dem Antwort-Body befinden sich mehrere Ansichtsoptionen:
Pretty,Raw,HexundRender.Pretty: Zeigt eine formatierte Version der Antwort an, was für HTML und JSON hilfreich ist.Raw: Zeigt die exakten Bytes an, die vom Server empfangen wurden.Render: Versucht, die Antwort so darzustellen, wie es ein Webbrowser tun würde. Klicken Sie aufRender, um eine visuelle Darstellung der Anmeldeseite mit der Fehlermeldung zu sehen.
Die Analyse von Antworten ist eine entscheidende Fähigkeit. Indem Sie verschiedene Payloads senden und die Antworten beobachten, können Sie herausfinden, wie eine Anwendung funktioniert, und potenzielle Schwachstellen identifizieren.
Die Verlaufspfeile zur Navigation zwischen gesendeten Anfragen verwenden
In diesem Schritt lernen Sie, wie Sie die Navigationsfunktion für den Verlauf innerhalb eines Repeater-Tabs verwenden. Repeater speichert einen Verlauf aller Anfragen, die Sie im aktuellen Tab gesendet haben, was sehr nützlich ist, um die Antworten auf leicht unterschiedliche Anfragen zu vergleichen.
Neben der Schaltfläche Send sehen Sie eine Zahl (derzeit 1) und Vorwärts-/Rückwärtspfeile (< und >). Diese ermöglichen es Ihnen, durch den Anfrageverlauf zu blättern.
- Erstellen wir einen weiteren Verlaufseintrag. Ändern Sie im Anfrage-Panel den
usernamezurück aufuser. - Klicken Sie erneut auf
Send. Sie sehen, wie sich die Antwort aktualisiert, um den Anmeldeversuch füruserwiderzuspiegeln. Die Zahl neben der SchaltflächeSendzeigt nun2an. - Klicken Sie nun auf den Rückwärtspfeil (
<). Die Anfrage- und Antwort-Panels werden aktualisiert, um Ihre erste Anfrage (mitusername=admin) und die entsprechende Antwort anzuzeigen. Die Zahl ändert sich zurück auf1. - Klicken Sie auf den Vorwärtspfeil (
>), um zur zweiten Anfrage (mitusername=user) zurückzukehren.
Diese Funktion ermöglicht es Ihnen, schnell Variationen einer Anfrage zu testen und die Ergebnisse zu vergleichen, ohne Ihre Änderungen manuell neu eingeben oder mehrere Repeater-Tabs verwalten zu müssen.
Zusammenfassung
In diesem Lab haben Sie die grundlegenden Operationen von Burp Repeater, einer Kernkomponente von Burp Suite, kennengelernt.
Sie haben erfolgreich eine HTTP-Anfrage von einer Webanwendung erfasst und an Repeater gesendet. Anschließend haben Sie geübt, die Parameter und Header der Anfrage zu modifizieren, die modifizierte Anfrage erneut an den Server zu senden und die resultierende Antwort zu analysieren. Schließlich haben Sie gelernt, wie Sie die Verlaufsnavigation nutzen, um effizient zwischen verschiedenen von Ihnen gesendeten Anfragen zu wechseln.
Die Beherrschung von Burp Repeater ist ein wichtiger Schritt, um sich in der manuellen Webanwendungs-Sicherheitsprüfung zu profilieren, da es die Kontrolle bietet, die erforderlich ist, um eine breite Palette von Schwachstellen zu untersuchen.
