
OpenAPI-Dokumente in Burp Suite einlesen, um Sicherheitsbewertungen von OpenAPI-basierten APIs zu automatisieren (von PortSwigger für die Aufnahme in ihren offiziellen BApp Store genehmigt).
[!UPDATE] Diese Erweiterung wurde aktualisiert, um die neueste Burp Montoya Java API zu verwenden. Die Erweiterung wurde komplett überarbeitet, um sowohl die
UI/UXals auch die Leistung zu verbessern. Diese Änderungen stellen sicher, dass die Erweiterung modern und optimiert für den Einsatz ist.
Burp Suite-Erweiterung für OpenAPI-basierte API-TestsDie
OpenAPI-Spezifikation (OAS) definiert eine standardisierte, programmiersprachenunabhängige Schnittstellenbeschreibung fürREST-APIs, die es Menschen und Computern ermöglicht, die Fähigkeiten eines Dienstes zu entdecken und zu verstehen, ohne Zugriff auf Quellcode, zusätzliche Dokumentation oder die Überprüfung des Netzwerkverkehrs zu benötigen. Wenn sie korrekt überOpenAPIdefiniert ist, kann ein Konsument den entfernten Dienst mit minimaler Implementierungslogik verstehen und mit ihm interagieren. Ähnlich wie Schnittstellenbeschreibungen dies für die low-level Programmierung getan haben, entfernt dieOpenAPI-Spezifikation das Rätselraten beim Aufruf eines Dienstes.Anwendungsfälle für maschinenlesbare
API-Definitionsdokumente umfassen unter anderem: interaktive Dokumentation; Codegenerierung für Dokumentation, Clients und Server; und Automatisierung von Testfällen.OpenAPI-Dokumente beschreiben die Dienste einerAPIund werden entweder imYAML- oderJSON-Format dargestellt. Diese Dokumente können entweder statisch erstellt und bereitgestellt oder dynamisch aus einer Anwendung generiert werden.
Die Durchführung von Sicherheitsbewertungen OpenAPI-basierter APIs kann eine mühsame Aufgabe sein, da Burp Suite (Industriestandard) keine nativen OpenAPI-Parsing-Funktionen bietet. Eine Lösung für diese Situation ist die Verwendung von Drittanbieter-Tools (z.B. SOAP-UI) oder die Implementierung benutzerdefinierter Skripte (oft auf Engagement-Basis), um das Parsen von OpenAPI-Dokumenten zu handhaben und die Ergebnisse in Burp Suite zu integrieren/zu verketten, um dessen erstklassige Scan-Funktionen zu nutzen.
openapi-parser ist ein OpenAPI-Parser, der diesen gesamten Prozess optimieren soll, indem er Sicherheitsexperten die Verwendung von Burp Suite als eigenständiges Tool für die Sicherheitsbewertung OpenAPI-basierter APIs ermöglicht.
OpenAPI-Dokumente können entweder aus einer bereitgestellten Datei oder von einer URL geparst werden. Die Erweiterung kann OpenAPI-Dokumente direkt von einer URL abrufen, indem sie die Funktion An Swagger Parser senden im Kontextmenü unter Ziele -> Site Map verwendet.OpenAPI-Dokumente, ehemals bekannt als die Swagger-Spezifikation, vollständig kompatibel mit den OpenAPI 2.0/3.0 Spezifikationen (OAS).Comparer, Intruder, Organizer, Repeater, Scanner, und gesendet werden.Betriebssystem: Kompatibel mit Linux, macOS und Windows.
Java Development Kit (JDK): Version 11 oder höher.
Burp Suite Professional oder Community Edition: Version 2023.11.1.3 oder höher.
[!IMPORTANT] Bitte beachten Sie, dass die Verwendung einer niedrigeren Version als
2023.3.2zu einem java.lang.NoSuchMethodError führen kann. Es ist entscheidend, die angegebene Version oder eine neuere zu verwenden, um dieses Problem zu vermeiden.
Version 8.5 oder höher (empfohlen). Die Datei build.gradle ist im Projekt-Repository enthalten.JAVA_HOME auf das Installationsverzeichnis des JDK.Bitte stellen Sie sicher, dass alle Systemanforderungen, einschließlich einer kompatiblen Version von Burp Suite, erfüllt sind, bevor Sie das Projekt bauen und ausführen. Beachten Sie, dass die externen Abhängigkeiten des Projekts während des Build-Prozesses automatisch von Gradle verwaltet und installiert werden. Die Einhaltung der Anforderungen hilft, potenzielle Probleme zu vermeiden und reduziert die Notwendigkeit, neue Issues im Projekt-Repository zu eröffnen.
Stellen Sie sicher, dass Gradle installiert und konfiguriert ist.
Laden Sie das openapi-parser Repository herunter:
git clone https://github.com/aress31/openapi-parser
cd .\openapi-parser\
Erstellen Sie die eigenständige jar:
./gradlew fatJar
Burp SuiteUm openapi-parser in Burp Suite zu installieren, gehen Sie zuerst zum Tab Extensions und klicken Sie auf die Schaltfläche Add. Wählen Sie dann die openapi-parser-all jar-Datei aus dem Ordner .\build\libs aus, um die Erweiterung zu laden.
Alternativ können Sie den Kompilierungsschritt vollständig überspringen und die Erweiterung direkt aus dem BApp Store herunterladen.
Hinweis: Die Version, die im BApp Store verteilt wird, kann hinter der Version in diesem Repository zurückbleiben.
OpenAPI-Schemata, um alle verschachtelten Parameter zusammen mit ihrem Beispiel/Typ zu sammeln.MyHttpRequest anstelle von RequestWithMetadata.API-Aufrufe direkt über die GUI zu ändern.API-Schlüssel).Siehe TODO für weitere ausstehende Aufgaben.
Im Juli 2016, nachdem ich eine Verbesserungsanfrage im PortSwigger Support-Forum gepostet hatte, entschied ich mich, die Initiative zu ergreifen und selbst eine Lösung zu implementieren.
Die Erweiterung befindet sich noch in der Entwicklung. Feedback, Kommentare und Beiträge sind daher sehr willkommen.
Wenn diese Erweiterung Ihnen während einer Sicherheitsbewertung Zeit und Mühe erspart hat, zeigen Sie etwas Liebe, indem Sie einen Kaffee ☕ für den Entwickler sponsern. Es ist der Treibstoff, der die Entwicklung antreibt. Klicken Sie einfach auf die glänzende Sponsor-Schaltfläche oben auf der Seite oder hier, um beizutragen und den Koffein-Fluss am Laufen zu halten. 💸
Haben Sie einen Bug gefunden? Nun, lassen Sie ihn nicht einfach herumkrabbeln! Lassen Sie uns ihn gemeinsam zerquetschen wie ein paar Bug-Flüsterer! 🐛💪
Bitte melden Sie Probleme im GitHub Issue Tracker. Gemeinsam machen wir diese Erweiterung so zuverlässig wie eine Kakerlake, die eine nukleare Apokalypse überlebt! 🚀
Sie möchten mit Ihren verrückten Programmierfähigkeiten Eindruck machen? 💻
Super! Beiträge sind willkommen und sehr geschätzt. Bitte reichen Sie alle Pull-Requests im GitHub Pull Requests Tracker ein. Gemeinsam können wir diese Erweiterung noch erstaunlicher machen! 🚀
Siehe LICENSE.
Site MapScopeOpenAPI-Parser)' des Burp-Nachrichteneditors angezeigt werden.API-Aufrufe hervorzuheben und/oder sie für Berichterstellungszwecke farblich zu codieren.CSV-Funktion, die es Benutzern ermöglicht, ausgewählte API-Anfragen einfach im CSV-Format zur weiteren Analyse oder Berichterstellung zu exportieren.JSON- als auch YAML-Formate.Param-Spalte durch Hinzufügen des Parametertyps (z.B. inquery, inbody).