owasp zap tutorial comprehensive review owasp zap tool
In diesem Tutorial wird erklärt, was OWASP ZAP ist, wie es funktioniert, wie ZAP Proxy installiert und eingerichtet wird. Enthält auch eine Demo der ZAP-Authentifizierung und Benutzerverwaltung:
Warum ZAP für Pen-Tests verwenden?
Um eine sichere Webanwendung zu entwickeln, muss man wissen, wie sie angegriffen werden. Hier kommt die Anforderung für die Sicherheit von Web-Apps oder Penetrationstests.
Aus Sicherheitsgründen verwenden Unternehmen kostenpflichtige Tools. OWASP ZAP ist jedoch eine großartige Open-Source-Alternative, die das Testen von Penetrationstests für Tester erleichtert.
Was du lernen wirst:
- Was ist OWASP ZAP?
- Wie funktioniert ZAP?
- ZAP-Authentifizierung, Sitzungs- und Benutzerverwaltung
- Beispiel für einen ZAP-HTML-Bericht
- Fazit
Was ist OWASP ZAP?
Penetrationstests helfen dabei, Schwachstellen zu finden, bevor ein Angreifer dies tut. OSWAP ZAP ist ein Open-Source-freies Tool und wird zur Durchführung von Penetrationstests verwendet. Das Hauptziel von Zap ist es, einfache Penetrationstests zu ermöglichen, um die Schwachstellen in Webanwendungen zu finden.
ZAP-Vorteile:
- Zap bietet plattformübergreifende Funktionen, d. H. Es funktioniert unter allen Betriebssystemen (Linux, Mac, Windows).
- Zap ist wiederverwendbar
- Kann Berichte erstellen
- Ideal für Anfänger
- Kostenloses Tool
Wie funktioniert ZAP?
ZAP erstellt einen Proxyserver und lässt den Website-Verkehr über den Server laufen. Die Verwendung von automatischen Scannern in ZAP hilft dabei, die Sicherheitslücken auf der Website abzufangen.
Weitere Informationen finden Sie in diesem Flussdiagramm:
wie man einem Array Werte hinzufügt
ZAP-Terminologien
Lassen Sie uns vor dem Konfigurieren des ZAP-Setups einige ZAP-Terminologien verstehen:
# 1) Sitzung : Sitzung bedeutet einfach, durch die Website zu navigieren, um den Angriffsbereich zu identifizieren. Zu diesem Zweck kann jeder Browser wie Mozilla Firefox verwendet werden, indem die Proxy-Einstellungen geändert werden. Andernfalls können wir die zap-Sitzung als .session speichern und wiederverwenden.
# 2) Kontext: Es bedeutet eine Webanwendung oder eine Reihe von URLs zusammen. Der im ZAP erstellte Kontext greift den angegebenen an und ignoriert den Rest, um zu viele Daten zu vermeiden.
# 3) Arten von ZAP-Angriffen: Sie können einen Schwachstellenbericht mit verschiedenen ZAP-Angriffstypen erstellen, indem Sie auf die URL klicken und diese scannen.
Aktiver Scan: Wir können einen aktiven Scan mit Zap auf viele Arten durchführen. Die erste Option ist die Schnellstart, Dies ist auf der Begrüßungsseite des ZAP-Tools vorhanden. Bitte beachten Sie den folgenden Screenshot:
Schnellstart 1
Der obige Screenshot zeigt den schnellsten Einstieg in ZAP. Geben Sie die URL auf der Registerkarte Schnellstart ein, klicken Sie auf die Schaltfläche Angriff, und der Fortschritt beginnt.
Schnellstart führt die Spinne unter der angegebenen URL aus und führt dann den aktiven Scanner aus. Eine Spinne kriecht ab der angegebenen URL auf allen Seiten. Genauer gesagt ist die Schnellstartseite wie „Point and Shoot“.
Schnellstart 2
Hier beginnt der Angriff beim Festlegen der Ziel-URL. Sie können den Fortschrittsstatus als Spinnen der URL zum Erkennen von Inhalten anzeigen. Wir können den Angriff manuell stoppen, wenn er zu lange dauert.
Eine weitere Option für die Aktiver Scan ist, dass wir im ZAP-Proxy-Browser auf die URL zugreifen können, da Zap sie automatisch erkennt. Wenn Sie mit der rechten Maustaste auf die URL klicken, wird der aktive Scan gestartet. Sobald der Crawl abgeschlossen ist, wird der aktive Scan gestartet.
Der Angriffsfortschritt wird auf der Registerkarte Aktiver Scan angezeigt. Auf der Registerkarte Spider wird die Listen-URL mit Angriffsszenarien angezeigt. Sobald der aktive Scan abgeschlossen ist, werden die Ergebnisse auf der Registerkarte Warnungen angezeigt.
Bitte überprüfen Sie den folgenden Screenshot von Aktiver Scan 1 und Aktiver Scan 2 für ein klares Verständnis.
Aktiver Scan 1
Aktiver Scan 2
# 4) Spinne: Spider identifiziert die URL auf der Website, sucht nach Hyperlinks und fügt sie der Liste hinzu.
# 5) Ajax Spider: Wenn unsere Anwendung JavaScript stark nutzt, wählen Sie AJAX Spider, um die App zu erkunden.Ich werde das erklären Ajax-Spinne im Detail in meinem nächsten Tutorial.
# 6) Warnungen : Website-Schwachstellen werden als hohe, mittlere und niedrige Warnungen gekennzeichnet.
ZAP-Installation
Jetzt werden wir das ZAP-Installationssetup verstehen. Laden Sie zunächst die Zap installieren . Da ich Windows 10 verwende, habe ich das Windows 64-Bit-Installationsprogramm entsprechend heruntergeladen.
Voraussetzungen für die Installation von Zap: Java 7 ist erforderlich. Wenn Sie kein Java auf Ihrem System installiert haben, holen Sie es sich zuerst. Dann können wir ZAP starten.
Richten Sie den ZAP-Browser ein
Schließen Sie zunächst alle aktiven Firefox-Sitzungen.
Starten Sie das Zap-Tool >> gehen Sie zum Menü Extras >> wählen Sie Optionen aus >> wählen Sie Local Proxy aus >> dort sehen wir die Adresse als localhost (127.0.0.1) und den Port als 8080. Wir können zu einem anderen Port wechseln, wenn dieser bereits verwendet wird. Angenommen, ich wechsle zu 8099. Bitte überprüfen Sie den Screenshot unten:
Lokaler Proxy in Zap 1
Öffnen Sie nun Mozilla Firefox >> Optionen auswählen >> Registerkarte Erweitern >>, indem Sie Netzwerk >> Verbindungseinstellungen >> Option Manuelle Proxy-Konfiguration auswählen. Verwenden Sie denselben Port wie im Zap-Tool. Ich habe in ZAP manuell auf 8099 geändert und dasselbe im Firefox-Browser verwendet. Überprüfen Sie den folgenden Screenshot der Firefox-Konfiguration, die als Proxy-Browser eingerichtet wurde.
Firefox-Proxy-Setup 1
Versuchen Sie, Ihre Anwendung mit Ihrem Browser zu verbinden. Hier habe ich versucht, eine Verbindung herzustellen Facebook und es heißt, Ihre Verbindung ist nicht sicher. Sie müssen also eine Ausnahme hinzufügen und dann die Sicherheitsausnahme bestätigen, um zur Facebook-Seite zu navigieren. Bitte beachten Sie die folgenden Screenshots:
Zugriff auf den Webseiten-Proxy-Browser 1
Zugriff auf den Webseiten-Proxy-Browser 2
Zugriff auf den Webseiten-Proxy-Browser 3
Überprüfen Sie gleichzeitig auf der Registerkarte 'Websites' von Zap die neu erstellte Sitzung für die Facebook-Seite. Wenn Sie Ihre Anwendung erfolgreich verbunden haben, werden auf der Registerkarte Verlauf von ZAP weitere Zeilen angezeigt.
Zap bietet normalerweise zusätzliche Funktionen, auf die über Rechtsklick-Menüs zugegriffen werden kann, z.
Klicken Sie mit der rechten Maustaste auf >> HTML >> Active Scan, dann führt zap einen aktiven Scan durch und zeigt die Ergebnisse an.
Wenn Sie Ihre Anwendung nicht über den Browser verbinden können, überprüfen Sie Ihre Proxy-Einstellungen erneut. Sie müssen sowohl die Browser- als auch die ZAP-Proxy-Einstellungen überprüfen.
Generieren von Berichten in ZAP
Sobald der aktive Scan abgeschlossen ist, können wir Berichte erstellen. Klicken Sie dazu auf OWASP ZAP >> Bericht >> HTML-Berichte erstellen >> Dateipfad bereitgestellt >> Scan-Bericht exportiert. Wir müssen die Berichte untersuchen, um alle möglichen Bedrohungen zu identifizieren und zu beheben.
ZAP-Authentifizierung, Sitzungs- und Benutzerverwaltung
Kommen wir zu einer anderen Zap-Funktion, die sich um Authentifizierung, Sitzungs- und Benutzerverwaltung kümmert. Bitte lassen Sie mich alle Fragen wissen, die Ihnen als Kommentar in den Sinn kommen.
Grundlegendes Konzept
- Kontext : Es repräsentiert eine Webanwendung oder eine Reihe von URLs zusammen. Für einen bestimmten Kontext werden neue Registerkarten hinzugefügt, um den Authentifizierungs- und Sitzungsverwaltungsprozess anzupassen und zu konfigurieren. Die Optionen stehen im Dialogfeld 'Sitzungseigenschaften' zur Verfügung. I.e Dialogfeld 'Sitzungseigenschaften' -> Kontext -> Sie können entweder die Standardoption verwenden oder einen neuen Kontextnamen hinzufügen.
- Sitzungsverwaltungsmethode: Es gibt zwei Arten von Sitzungsverwaltungsmethoden. Meistens wird eine Cookie-basierte Sitzungsverwaltung verwendet, die dem Kontext zugeordnet ist.
- Authentifizierungsmethode: Es gibt hauptsächlich drei Arten von Auth-Methoden, die von ZAP verwendet werden:
- Formularbasierte Authentifizierungsmethode
- Manuelle Authentifizierung
- HTTP-Authentifizierung
- Benutzerverwaltung: Sobald das Authentifizierungsschema konfiguriert wurde, kann für jeden Kontext eine Gruppe von Benutzern definiert werden. Diese Benutzer werden für verschiedene Aktionen verwendet ( Zum Beispiel, Spider URL / Kontext als Benutzer Y, senden Sie alle Anfragen als Benutzer X). In Kürze werden weitere Aktionen bereitgestellt, die die Benutzer nutzen.
Eine 'Forced-User' -Erweiterung wird implementiert, um die alte Authentifizierungserweiterung zu ersetzen, die eine erneute Authentifizierung durchgeführt hat. Über die Symbolleiste ist jetzt ein Modus für erzwungene Benutzer verfügbar (dasselbe Symbol wie bei der alten Authentifizierungserweiterung).
Nachdem Sie einen Benutzer für einen bestimmten Kontext als 'Zwangsbenutzer' festgelegt oder aktiviert haben, wird jede über ZAP gesendete Anforderung automatisch so geändert, dass sie für diesen Benutzer gesendet wird. In diesem Modus wird auch eine erneute Authentifizierung automatisch durchgeführt (insbesondere in Verbindung mit der formularbasierten Authentifizierung). Wenn keine Authentifizierung vorliegt, wird 'Abgemeldet' erkannt.
Lassen Sie uns eine Demo sehen:
Schritt 1:
Starten Sie zunächst ZAP und greifen Sie im Proxy-Browser auf die URL zu. Hier habe ich die Beispiel-URL als genommen https://tmf-uat.iptquote.com/login.php . Klicken Sie auf Erweitert -> Ausnahme hinzufügen -> Sicherheitsausnahme wie auf Seite 6 und 7 bestätigen. Anschließend wird die Zielseite angezeigt. Gleichzeitig lädt ZAP die Webseite unter Sites automatisch als neue Sitzung. Siehe das folgende Bild.
Schritt 2:
Fügen Sie es in einen Kontext ein. Dies kann entweder durch Einfügen in einen Standardkontext oder durch Hinzufügen als neuen Kontext erfolgen. Siehe das folgende Bild.
Schritt 3:
Als nächstes folgt die Authentifizierungsmethode. Sie können die Authentifizierung in diesem Sitzungseigenschaftsdialog selbst sehen. Hier verwenden wir die formularbasierte Auth-Methode.
Es sollte wie authMethodParams als sein '' Login Url = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login ”
In unserem Beispiel müssen wir die Authentifizierungsmethode als formularbasiert festlegen. Wählen Sie dazu die Ziel-URL aus, das Feld für die Anmeldeanforderung nach dem Ausfüllen wird vorab ausgefüllt. Ändern Sie anschließend den Parameter als Benutzername und Kennwort -> klicken Sie auf OK .
Schritt 4:
Setzen Sie nun Indikatoren, die ZAP bei der Authentifizierung mitteilen.
Angemeldete und abgemeldete Indikatoren:
- Nur einer ist notwendig
- Wir können Regex-Muster festlegen, die mit der Antwortnachricht übereinstimmen. Sie müssen entweder das Anmelde- oder das Abmeldekennzeichen setzen.
- Identifizieren Sie, wann eine Antwort authentifiziert wird oder wann nicht.
- Beispiel für Anmeldekennzeichen: Qhttp: // example / logout E oder Welcome User. *
- Beispiel für den Indikator Abgemeldet: login.jsp oder so ähnlich.
Hier in unserer Demo-Anwendung habe ich in einem Proxy-Browser auf die URL zugegriffen. Mit einem gültigen Berechtigungsnachweis bei der Anwendung angemeldet, Benutzername als Superadmin und Kennwort als primo868. Navigieren Sie durch die Innenseiten und klicken Sie auf Abmelden
Sie können in Schritt 3 sehen, dass Zap die Anmeldeanforderungsdaten als Daten verwendet, die für die TMF-Anwendungsanmeldung (Demoanwendungsanmeldung) verwendet werden.
In Regex-Muster aus der Antwort von ZAP als Antwort -> Abgemeldete Antwort -> als im Indikator protokolliert kennzeichnen. Beziehen auf der Screenshot unten
Schritt 5:
Wir können den Indikator speichern und überprüfen, ob der Dialog mit den Sitzungseigenschaften mit dem angemeldeten Indikator hinzugefügt wird oder nicht. Siehe den Screenshot unten:
Schritt 6:
Wir müssen Benutzer hinzufügen, gültige und ungültige Benutzer. Wenden Sie Spinnenangriffe auf beide an und analysieren Sie die Ergebnisse.
Gültiger Benutzer:
Software zum Herunterladen von Videos von Ihrer Tube
Ungültiger Benutzer:
Schritt 7:
Standardmäßig ist die Sitzungsverwaltung als Cookie-basierte Methode festgelegt.
Schritt 8:
Der Spider-URL-Angriff wird auf ungültige und gültige Benutzer angewendet und überprüft die Ergebnisse / generiert Berichte.
Ungültige Benutzer-Spider-Angriffsansicht 1:
Hier wird ein Spider-URL-Angriff auf den ungültigen Benutzer angewendet. In der ZAP-Oberfläche sehen wir Get: login.php (error _message), was bedeutet, dass die Authentifizierung fehlgeschlagen ist. Außerdem werden die URLs nicht über innere TMF-Seiten weitergeleitet.
Schritt 9:
Um einen Spider-URL-Angriff auf den gültigen Benutzer anzuwenden, gehen Sie zu Site-Liste -> Angriff -> Spider-URL -> vorhandener gültiger Benutzer -> hier ist er standardmäßig aktiviert -> Scan starten.
Ergebnisse analysieren: Da es sich um einen gültigen authentifizierten Benutzer handelt, navigiert er durch alle inneren Seiten und zeigt den Authentifizierungsstatus als erfolgreich an. Siehe unten Screenshot.
Gültiger Benutzer
Beispiel für einen ZAP-HTML-Bericht
Sobald ein aktiver Scan abgeschlossen ist, können wir einen HTML-Bericht für denselben erstellen. Wählen Sie dazu Bericht -> HTML-Bericht erstellen. Ich habe einen Beispielinhalt von HTML-Berichten angehängt. Hier werden Warnmeldungen mit hohen, mittleren und niedrigen Warnungen generiert.
Warnungen
Fazit
In diesem Tutorial haben wir gesehen, was ZAP ist, wie ZAP funktioniert, Installation und Einrichtung des ZAP-Proxys. Verschiedene Arten von aktiven Scanprozessen, eine Demo der ZAP-Authentifizierung, der Sitzungs- und Benutzerverwaltung sowie grundlegende Terminologien. In meinem nächsten Tutorial werde ich den Ajax-Spinnenangriff, die Verwendung von Fuzzern und erzwungene Websites erläutern.
Und wenn Sie Zed Attack Proxy verwendet haben und einige interessante Tipps zum Teilen haben, teilen Sie dies in den Kommentaren unten mit.
Verweise:
Literatur-Empfehlungen
- Praktisches Test Management Tool Tutorial zum praktischen Überprüfen
- TestLodge Test Management Tool Überprüfung
- TestComplete Tutorial: Ein umfassendes Handbuch für GUI-Testtools für Anfänger
- Lernprogramm zur praktischen Überprüfung des Backlog-Fehlerverfolgungstools
- Bugzilla Tutorial: Praktisches Tutorial zum Fehlermanagement-Tool
- So testen Sie die Website-Leistung mit dem SmartMeter.io-Tool: Lernprogramm zur praktischen Überprüfung
- Tutorial zum WAVE Accessibility Testing Tool
- Praktische Überprüfung des qTest Test Management Tools