Anfragen in Burp Repeater manipulieren und erneut senden

Beginner
Jetzt üben

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.

  1. Öffnen Sie den Webbrowser vom Desktop aus.
  2. Navigieren Sie zur Zielanwendung, indem Sie http://127.0.0.1:5000 in die Adressleiste eingeben.
  3. Sie sehen ein einfaches Anmeldeformular. Lassen Sie die Standardwerte (user und pass) stehen und klicken Sie auf die Schaltfläche Submit.

Finden wir nun diese Anfrage in Burp Suite.

  1. Wechseln Sie zum Burp Suite-Fenster.
  2. Gehen Sie zum Tab Proxy und klicken Sie dann auf den Unter-Tab HTTP history. Sie sehen eine Liste der Anfragen, die Ihr Browser gestellt hat.
  3. 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.
  4. Klicken Sie mit der rechten Maustaste irgendwo im Anfrage-Panel und wählen Sie im Kontextmenü Send to Repeater aus. Sie können auch die Tastenkombination Strg+R verwenden.

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.

  1. 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.
  2. Testen wir, ob wir uns als ein anderer Benutzer anmelden können. Ändern Sie den Wert des username-Parameters von user zu admin. Die Zeile sollte nun wie folgt aussehen: username=admin&password=pass.
  3. 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.

  1. Stellen Sie sicher, dass Ihre Anfrage wie im vorherigen Schritt beschrieben geändert wurde (z. B. username ist auf admin gesetzt).
  2. 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.

  1. 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.
  2. 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.
  3. Über dem Antwort-Body befinden sich mehrere Ansichtsoptionen: Pretty, Raw, Hex und Render.
    • 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 auf Render, 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.

  1. Erstellen wir einen weiteren Verlaufseintrag. Ändern Sie im Anfrage-Panel den username zurück auf user.
  2. Klicken Sie erneut auf Send. Sie sehen, wie sich die Antwort aktualisiert, um den Anmeldeversuch für user widerzuspiegeln. Die Zahl neben der Schaltfläche Send zeigt nun 2 an.
  3. Klicken Sie nun auf den Rückwärtspfeil (<). Die Anfrage- und Antwort-Panels werden aktualisiert, um Ihre erste Anfrage (mit username=admin) und die entsprechende Antwort anzuzeigen. Die Zahl ändert sich zurück auf 1.
  4. Klicken Sie auf den Vorwärtspfeil (>), um zur zweiten Anfrage (mit username=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.