Burp Suite vs. OWASP ZAP: Die beliebtesten Tools für Web Application Security Assessments

Burp Suite von Portswigger und OWASP ZAP sind beides Programme mit einem Proxy-Server, welche auf deinem lokalen Gerät laufen. Mit ihnen kannst du Anfragen, die an eine Webseite gesendet werden, abfangen und untersuchen. In diesem Artikel zeigen wir dir die wichtigsten Funktionen beider Programme und gehen auf Unterschiede ein.

Burp Suite ist das wahrscheinlich bekannteste Web Application Pentesting Tool. Die kostenlose Community Edition beinhaltet die wichtigsten Hauptfunktionen. Daneben gibt es auch die Professional Edition und die Enterprise Edition mit weiteren Funktionen. In diesem Beitrag gehen wir (mit einer Ausnahme) jedoch nur auf die kostenlos verfügbaren Tools von Burp Suite ein.

Eine Alternative zur Burp Suite ist der Zed Attack Proxy (ZAP) von OWASP. Hierbei handelt es sich um ein Open-Source-Projekt, welches von Freiwilligen gepflegt wird. Das Tool bietet im Grunde ähnliche Möglichkeiten wie Burp Suite, ist zudem aber über den „ZAP Marketplace“ um durch die Community erstellte Tools erweiterbar.

Inhaltsverzeichnis

Funktionen Burp Suite

Spider

Diese Funktion ist ein Web Spider/ Crawler, mit dem du den Inhalt einer Web-Applikation durchsuchen kannst. Dein Ziel ist es dabei, eine Liste der Endpoints ausfindig zu machen, um die Funktionalität zu untersuchen und potenzielle Schwachstellen ausfindig zu machen. Je mehr Endpoints du ausfindig machst, umso mehr Angriffsfläche hast du während des Testens.

Proxy

Mit dem Proxy ist es dir möglich, Anfragen und Antworten zu bearbeiten, bevor diese am Zielort ankommen. Der Request/ die Response wird jeweils abgefangen, bevor diese entweder beim Zielserver oder bei dir ankommt. Du kannst die Anfragen auch an weitere Tools weiterleiten. Das erleichtert dir die Arbeit, da du nicht alles manuell kopieren musst.

Repeater

Der Repeater erlaubt es dir, eine benutzerdefinierte Anfrage erneut zu versenden. Dies kannst du nutzen, um verschiedene Parameter der Website und des Servers zu testen. Unter anderem kannst du testen, welchen Wert der Server bei einem Input in einem Header erwartet oder ob getestet wird, dass die vom Nutzer eingegebenen Daten auch geprüft werden. Wird beispielsweise geprüft, ob bei einem E-Mail Adress-Feld tatsächlich eine E-Mail-Adresse angegeben wird?

Decoder

Durch den Decoder liefert dir Burp ein simples Tool, mit welchem du eine Auflistung erstellen kannst. Es zeigt dir auf, welche Encoding Methoden standardmäßig genutzt werden (z. B. HTML, Base64 oder Hex (Hexadezimal)). Das Tool nutzt du hauptsächlich, um Daten bzw. Werte aus Headern zu analysieren oder wenn du einen Payload einschleusen und diesen encodieren möchtest.

Intruder

Mit dem Intruder bietet dir Burp einen sogenannten Fuzzer. Mit diesem kannst du vorgegebene, meist ungültige Werte an ein Eingabefeld senden. Die Antworten kannst du dann überwachen in Bezug auf Länge und ob diese erfolgreich waren oder fehlschlugen. Eine ungewöhnliche Antwort hat in der Regel einen anderen Response Code (z. B. 200, was für „ok“ steht), während ein 403 Statuscode für „forbidden“ steht. Ungewöhnliche Antworten können zudem länger oder kürzer sein als die restlichen. Mit Burp Suite und dem Intruder kannst du z. B. sogenannte „Brute Force Attacks“ auf Anmeldeseiten durchführen. Das sind unter anderem Wortlistenangriffe auf Eingabefelder, welche anfällig sein könnten für Cross Site Scripting oder auch SQL Injections. Zudem kannst du damit testen, ob ein Rate-Limit vorhanden ist, also eine Limitierung der maximal erlaubten Anfragen in einem bestimmten Zeitraum.

Sequencer

Ein weiteres Tool, welches Burp dir bietet, ist der Sequencer – ein sogenannter „Entropy Checker“. Kurzgefasst ist die Entropie in der IT ein Wert, welcher die Zufälligkeit der Bitkette beschreibt. Je geringer dieser Wert, umso einfacher ist es, „zufällig“ generierte Werte vorherzusehen und diese eventuell zu deinem Vorteil zu nutzen. Mit dem Sequencer kannst du also überprüfen, wie nah Tokens an einen wirklich zufällig generierten Wert kommen oder ob sich ein gewisses Schema hinter der Generierung der Tokens verbirgt. Tokens sind eine Art von Zugriffsmethode, die ein Webserver beispielsweise für Authentifizierungen nutzt.

Scanner

Leider ist der Scanner ist nicht in der Community Edition vorhanden. Er ist dennoch erwähnenswert, da der ZAP eine ähnliche Funktion kostenfrei bietet. Mit dem Scanner kannst du Webseiten automatisch auf bekannte Schwachstellen scannen. Der Scan gibt dir Informationen darüber, wie hoch die Wahrscheinlichkeit ist, dass eine Schwachstelle vorhanden ist und wie schwer es wäre, diese auszunutzen. Der Scanner wird regelmäßig aktualisiert, um neue und auch weniger bekannte Schwachstellen zu inkludieren.

BApps

Zusätzlich bietet dir Burp Suite in der Community Edition auch die Möglichkeit, externe Komponenten einzubinden. Diese werden „BApps“ genannt und funktionieren ähnlich wie Browser Extensions. Du kannst diese über das Extender Window installieren, anschauen und bei Bedarf anpassen. Jedoch ist nicht alles in der Community Edition nutzbar, manche BApps benötigen die lizenzbasierte Professional Edition.

Burp Suite im Einsatz

Hier nun ein kleines Beispiel, wie eine Anfrage über den Proxy in Burp manipuliert werden kann.

Als Beispiel werden wir den OWASP Juice Shop nutzen und dort eine Bewertung über den Intruder modifizieren.

Erste Vorbereitung

Zunächst geben wir als der angemeldete Nutzer, in unserem Fall sind wir angemeldet als „bender@juice-sh.op“, eine Bewertung auf der Webseite vom Juice Shop ein, drücken aber noch nicht auf „Submit“.

Juice Shop Customer Feedback
Juice Shop Customer Feedback

Bevor wir nun weiter arbeiten, müssen wir im Proxy bei Burp den Intercept auf „On“ stellen. Dadurch werden die Anfragen von Burp abgefangen, bevor sie an den Server geschickt werden. 

Intercept On
Intercept im Proxy anschalten


Vorgehensweise mit Burp Suite

Nachdem wir dies getan haben, klicken wir bei unserer Bewertung, die wir abgeben möchten, einfach auf „Submit“. Nun bekommen wir von Burp die einzelnen Anfragen angezeigt, die abgefangen wurden, und können diese manuell über den Button „Forward“ an den Server weiterleiten. Das machen wir, bis wir zu der Anfrage kommen, bei welcher unsere Bewertung übermittelt werden soll. Dies sieht dann wie folgt aus:

Bewertung als Post Request
Die Bewertung als Post Request an die Webseite

Diese Anfrage können wir nun bearbeiten. Wir ändern jetzt mal die User ID von 3 auf 2 (diese ID gehört dem User Jim) ändern die Bewertung von 2 auf 4 und die angezeigte E-Mail-Adresse von „***nder@juice-sh.op“, die zu unserem User Bender gehört, jetzt zu „jim@juice-sh.op“. Somit wird angezeigt, Jim hätte die Bewertung abgegeben und die Bewertung ist auch mit seiner User-ID verknüpft.

Wie zuvor sehen wir in dem markierten Feld unsere Bewertung als Bender mit einer Bewertung von 2 und dem Kommentar „Everything is bad“, was dann nach dem Abändern wie folgt aussieht:

Manipulierte Bewerbung in Post Request
Die manipulierte Bewertung in der Post Request

Nun können wir diese einfach über den „Forward“ Button weiterleiten, bis alles übermittelt ist. Anschließend können wir unsere manipulierte Bewertung auf der Webseite anschauen.

Das Ergebnis

Manipulierte Bewertung
Unsere manipulierte Bewertung

Wir haben nun erfolgreich mithilfe des Burp Proxy eine Bewertung manipuliert. Es ist anzumerken, dass der Ablauf ungefähr derselbe wäre, wenn wir den ZAP benutzen, nur sieht es natürlich anders aus und die einzelnen Schritte könnten sich unterscheiden.

Genau wie im Handwerk gilt:
Auch das beste Werkzeug braucht fachkundige Anwender.
Sprich mit Profis

Funktionen OWASP ZAP (Zed Attack Proxy)

Kommen wir nun zum OWASP ZAP, der ebenfalls diverse Tools zur Verfügung stellt. OWASP hat zudem auch eine offizielle Dokumentation ihrer Tools mit tieferen Erklärungen der Funktion sowie Beispielen. Diese kann man auf der offiziellen Seite von OWASP einfach herunterladen. Die folgenden Tools bietet dir der ZAP:

Spider

Mit dem Spider-Tool kannst du URLs einer Web-Applikation, welche du testest, automatisch zum sogenannten „Scope“ hinzufügen. Der Scope ist der Bereich, auf welchen sich die Tests beschränken. Hier werden die Responses automatisch nach Hyperlinks durchsucht. Diese werden dann aufgerufen und ebenfalls durchsucht. Das Ganze funktioniert so lange, wie neue URLs entdeckt werden.

Forced Browse

Mit dem sogenannten „Forced Browse Scan“ kannst du URLs bzw. Ressourcen finden, welche nicht in der Web-Applikation verlinkt sind, jedoch jederzeit abfragbar sind (z. B. ein versteckter Ordner). ZAP nutzt dafür vorkonfigurierte Listen und ruft die vorgegebenen Pfade dann auf.

Active Scan

Mit dem Active Scan kannst du potenzielle Schwachstellen einer Web-Applikation ausfindig machen. Der Active Scan versucht dies durch bekannte Angriffsarten, die häufig genutzt werden. Der Active Scan wird bereits wie ein aktiver Angriff gewertet.

Manual Request Editor

Ähnlich wie mit dem „Proxy“ Modul von Burp Suite kannst du mit dem Manual Request Editor Anfragen manuell modifizieren und zum Webserver senden, um dann die Response auszuwerten.

Erweiterungen

Den ZAP von OWASP kannst du wie bereits erwähnt sehr einfach über den Marketplace erweitern. Dort kannst du diverse Add-ons installieren und diese dann lokal nochmal anpassen.

Fazit: Nützliche Tools, deren Wert vom Anwender abhängt

Im Grunde können Burp Suite und ZAP dasselbe: Beide Programme bieten dir eine große Auswahl an Tools und Add-ons, um das allgemeine Web Application Pentesting zu erleichtern. Beide Programme erlauben es dir einiges zu automatisieren (z. B. das Spidering oder die Möglichkeit, Scans durchzuführen, welche dir die potenziellen Schwachstellen aufzeigen).

Jedoch muss man dazusagen, dass Web Application Pentesting besonders in Hinsicht auf Broken Access Control ein sehr hohes technisches Verständnis und viel Erfahrung erfordert. Es erfordert trotz der Möglichkeiten zur Automatisierung sehr viel händische Arbeit und nicht immer sind die Tools in der Lage eine hinreichende Analyse abzugeben. Vieles kann den Tools entgehen und wird nur durch aktives Testen ans Tageslicht kommen. Daher ist es umso wichtiger, die Web-Applikation von einem erfahrenen Pentester, welcher sich gut mit Web Application Pentesting auskennt, durchtesten zu lassen.

Wie sicher ist deine Web App?
Wir finden für dich die Schwachstellen und unterstützen dich bei deren Schließung.
Zum Web Application Penetration Testing
Newsletter Form

Become a Cyber Security Insider

Sichere dir frühen Zugang und exklusive Inhalte!


Mit deiner Anmeldung erklärst du dich damit einverstanden, gelegentlich Marketing-E-Mails von uns zu erhalten.
Bitte akzeptiere die Cookies unten auf dieser Seite, um das Formular abschicken zu können!
ANDERE BEITRÄGE

Inhaltsverzeichnis

PSN_KU_Cover
NewsLetter Form Pop Up New

Become a Cyber Security Insider

Abonniere unsere Knowledge Base und erhalte:

Frühen Zugriff auf neue Blogbeiträge
Exklusive Inhalte
Regelmäßige Updates zu Branchentrends und Best Practices


Mit deiner Anmeldung erklärst du dich damit einverstanden, gelegentlich Marketing-E-Mails von uns zu erhalten.
Bitte akzeptiere die Cookies unten auf dieser Seite, um das Formular abschicken zu können!