Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
mitmproxy2swagger — Automatisch wie von Zauberhand REST-APIs durch Verkehrserfassung reverse-engineeren. | Kitploit
Tools/GitHubGitHub/alufers/mitmproxy2swagger
Reverse EngineeringInformationsbeschaffungWebsicherheitAPI-Sicherheit
GitHubalufers/mitmproxy2swagger

mitmproxy2swagger

Automatisch wie von Zauberhand REST-APIs durch Verkehrserfassung reverse-engineeren.

Repository anzeigen
9.6k370vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

mitmproxy2swagger

PyPI version Arch Linux repository

https://user-images.githubusercontent.com/5400940/168086818-c48f60ab-3f95-42eb-b435-c8b1a6326b81.mp4

Ein Tool zum automatischen Konvertieren von mitmproxy-Mitschnitten in OpenAPI 3.0-Spezifikationen. Das bedeutet, dass Sie REST-APIs automatisch rekonstruieren können, indem Sie einfach die Apps ausführen und den Datenverkehr mitschneiden.


🆕 NEU!

Unterstützung für die Verarbeitung von HAR-Dateien, die aus den Browser-Entwicklertools exportiert wurden, hinzugefügt. Siehe Verwendung - HAR für weitere Details.


Installation

Zuerst benötigen Sie Python3 und pip3.

root@kitploit:~
$ pip install mitmproxy2swagger
# ... or ...
$ pip3 install mitmproxy2swagger
# ... or ...
$ git clone [email protected]:alufers/mitmproxy2swagger.git
$ cd mitmproxy2swagger
$ docker build -t mitmproxy2swagger .

Klonen Sie dann das Repository und führen Sie mitmproxy2swagger wie in den folgenden Beispielen aus.

Verwendung

Mitmproxy

Um eine Spezifikation durch Überprüfen des HTTP-Datenverkehrs zu erstellen, müssen Sie:

  1. Nehmen Sie den Datenverkehr mit dem mitmproxy-Tool auf. Ich persönlich empfehle die Verwendung von mitmweb, einer in mitmproxy integrierten Weboberfläche.

    root@kitploit:~
    $ mitmweb
    Web server listening at http://127.0.0.1:8081/
    Proxy server listening at http://*:9999
    ...
    

    WICHTIG

    Um Ihren Client für die Verwendung des von mitmproxy bereitgestellten Proxys zu konfigurieren, konsultieren Sie bitte die mitmproxy-Dokumentation für weitere Informationen.

  2. Speichern Sie den Datenverkehr in einer Flow-Datei.

    In mitmweb können Sie dies über das Menü „Datei“ und die Auswahl von „Speichern“ tun:

    A screenshot showing the location of the "Save" option in the "File" menu

  3. Führen Sie den ersten Durchlauf von mitmproxy2swagger aus:

    root@kitploit:~
    $ mitmproxy2swagger -i <path_to_mitmptoxy_flow> -o <path_to_output_schema> -p <api_prefix>
    # ... or ...
    $ docker run -it -v $PWD:/app mitmproxy2swagger mitmproxy2swagger -i <path_to_mitmptoxy_flow> -o <path_to_output_schema> -p <api_prefix>
    

    Bitte beachten Sie, dass Sie ein vorhandenes Schema verwenden können; in diesem Fall wird das vorhandene Schema mit den neuen Daten erweitert. Sie können es auch mehrmals mit verschiedenen Flow-Mitschnitten ausführen, die aufgezeichneten Daten werden sicher zusammengeführt.

    <api_prefix> ist die Basis-URL der API, die Sie rekonstruieren möchten. Sie müssen diese ermitteln, indem Sie die in mitmproxy gestellten Anfragen beobachten.

    Wenn eine App beispielsweise folgende Anfragen gestellt hat:

    root@kitploit:~
    https://api.example.com/v1/login
    https://api.example.com/v1/users/2
    https://api.example.com/v1/users/2/profile
    

HAR

  1. Nehmen Sie den Datenverkehr in den Browser-Entwicklertools auf und exportieren Sie ihn.

    Gehen Sie in den Browser-Entwicklertools zum Netzwerk-Tab und klicken Sie auf die Schaltfläche „HAR exportieren“.

    A screenshot showing where the export har button is located

  2. Fahren Sie auf die gleiche Weise fort wie beim mitmproxy-Dump. mitmproxy2swagger erkennt die HAR-Datei automatisch und verarbeitet sie.

Beispielausgabe

Siehe die Beispiele. Dort finden Sie ein generiertes Schema und eine HTML-Datei mit der generierten Dokumentation (über redoc-cli).

Siehe die generierte HTML-Datei.

Entwicklung und Mitwirken

Dieses Projekt verwendet:

  • uv zur Abhängigkeitsverwaltung
  • prek für Code-Formatierung und Linting
  • pytest für Unit-Tests

So installieren Sie die Abhängigkeiten:

root@kitploit:~
uv sync

Linter ausführen:

root@kitploit:~
uv run prek run --all-files

Prek-Hooks installieren:

root@kitploit:~
uv run prek install

Tests ausführen:

root@kitploit:~
uv run pytest

Tests mit Codeabdeckung ausführen:

root@kitploit:~
uv run pytest --cov=mitmproxy2swagger

Lizenz

MIT

Tool herunterladen

Das wahrscheinliche Präfix ist https://api.example.com/v1.

  • Der erste Durchlauf sollte einen Abschnitt in der Schemadatei wie folgt erstellt haben:

    root@kitploit:~
    x-path-templates:
      # Remove the ignore: prefix to generate an endpoint with its URL
      # Lines that are closer to the top take precedence, the matching is greedy
      - ignore:/addresses
      - ignore:/basket
      - ignore:/basket/add
      - ignore:/basket/checkouts
      - ignore:/basket/coupons/attach/{id}
      - ignore:/basket/coupons/attach/104754
    

    Sie sollten die Schemadatei mit einem Texteditor bearbeiten und das Präfix ignore: von den Pfaden entfernen, die generiert werden sollen. Sie können auch die in den Pfaden erscheinenden Parameter anpassen.

  • Führen Sie den zweiten Durchlauf von mitmproxy2swagger aus:

    root@kitploit:~
    $ mitmproxy2swagger -i <path_to_mitmptoxy_flow> -o <path_to_output_schema> -p <api_prefix> [--examples]
    # ... or ...
    $ docker run -it -v $PWD:/app mitmproxy2swagger mitmproxy2swagger -i <path_to_mitmptoxy_flow> -o <path_to_output_schema> -p <api_prefix> [--examples]
    

    Führen Sie den Befehl ein zweites Mal aus (mit derselben Schemadatei). Er wird die bearbeiteten Zeilen aufnehmen und Endpunktbeschreibungen generieren.

    Bitte beachten Sie, dass mitmproxy2swagger vorhandene Endpunktbeschreibungen nicht überschreibt; wenn Sie sie überschreiben möchten, können Sie sie vor dem zweiten Durchlauf löschen.

    Die Übergabe von --examples fügt Beispieldaten zu Anfragen und Antworten hinzu. Seien Sie vorsichtig bei der Verwendung dieser Option, da sie sensible Daten (Token, Passwörter, persönliche Informationen usw.) zum Schema hinzufügen kann. Die Übergabe von --headers fügt Header-Daten zu Anfragen und Antworten hinzu. Seien Sie vorsichtig bei der Verwendung dieser Option, da sie sensible Daten (Token, Passwörter, persönliche Informationen usw.) zum Schema hinzufügen kann.