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
openapi_security_scanner — Automatisierter Autorisierungs-Sicherheitsscanner für OpenAPI-basierte APIs. Testet GET-Endpunkte mit mehreren Anmeldedatensätzen, um Privilegieneskalation und Schwachstellen in der Zugangskontrolle durch differentielle Antwortanalyse zu erkennen. | Kitploit
Tools/GitHubGitHub/ngalongc/openapi_security_scanner
SchwachstellenscannerAPI-SicherheitstestsWebsicherheitPenetrationstests
GitHubngalongc/openapi_security_scanner

openapi_security_scanner

Automatisierter Autorisierungs-Sicherheitsscanner für OpenAPI-basierte APIs. Testet GET-Endpunkte mit mehreren Anmeldedatensätzen, um Privilegieneskalation und Schwachstellen in der Zugangskontrolle durch differentielle Antwortanalyse zu erkennen.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
17337vor 5 JahrenVon Kitploit geprüft

OpenAPI Security Scanner

Über das Projekt

Autorisierungssicherheitslücken in modernen Webanwendungen können von Sicherheitsscannern nicht einfach erkannt werden. Einige Beispiele von Shopify, LINE, NordVPN. Einer der Gründe ist, dass Sicherheitsscanner hauptsächlich nach SQLi, XSS, RCE suchen, anstatt nach Autorisierungssicherheitsfehlern, und die Scanner kennen in der Regel nicht das erwartete Verhalten der Webanwendung. Deshalb werden die meisten Autorisierungsfehler heute hauptsächlich manuell entdeckt. OpenAPI Security Scanner wurde entwickelt, um Autorisierungssicherheitslücken sowohl durch Automatisierung als auch durch manuelle Überprüfung zu entdecken. Er verhält sich wie ein externes Unit-Test-Tool, das sicherstellt, dass alles so funktioniert, wie es sollte.

Erstellt mit

  • Schemathesis

Erste Schritte

Schauen Sie sich dieses Video an, um mitzumachen, oder lesen Sie weiter.

Forken oder klonen Sie dieses Projekt und folgen Sie den nachstehenden Anweisungen, um loszulegen.

Der Arbeitsablauf zur Verwendung dieses Scanners sieht etwa wie folgt aus:

  • Bereiten Sie die OpenAPI-YAML-Datei der Ziel-API vor
  • Definieren Sie die Zielendpunkte und Variablen, die für die API-Tests verwendet werden sollen
  • Generieren Sie mehrere Sätze von Anmeldedaten von verschiedenen Benutzern, um sicherzustellen, dass eine Vielzahl von Randfällen während der API-Tests abgedeckt wird
  • Nach der Konfiguration starten Sie den Runner; die Scanergebnisse sind in den Artefakten zu finden
  • Planen Sie den Runner für regelmäßige Ausführungen und passen Sie die Benachrichtigungsmethode an, wenn sich die Scanergebnisse ändern

Vorteile

Für Entwickler bietet dieses Tool eine zusätzliche Sicherheitsebene, dass sich die API sowohl intern als auch extern wie erwartet verhält. Der Scanner kann bei jeder Codebereitstellung ausgelöst werden, indem die Pipeline ausgelöst wird: https://docs.gitlab.com/ee/ci/triggers/.

Für Bug Bounty-Jäger stellt dieses Tool sicher, dass Sie die Ziel-API immer im Griff haben, denn wir alle wissen, dass selbst ein zuvor nicht anfälliger Endpunkt in Zukunft aus verschiedenen Gründen anfällig werden kann. Daher ist es einfacher, den manuellen Teil der Bug-Jagd mit diesem Tool zu automatisieren.

Warnung vor der Verwendung

Stellen Sie sicher, dass Sie die Berechtigung haben, die Ziel-API zu scannen.

Voraussetzungen

Sie benötigen eine OpenAPI-YAML-Datei der Webanwendung und ersetzen den Inhalt von api.yaml im Repository.

Verwendung

Ersetzen Sie den Inhalt von api.yaml durch die OpenAPI-YAML-Datei des Ziels, und gehen Sie zu den GitLab-Projekteinstellungen (Settings -> CI/CD -> Abschnitt Variables erweitern) und geben Sie die Variablen in den folgenden Formaten ein.

OPENAPI_CREDS

Die hier angegebenen Anmeldedaten werden an die API-Aufrufe im Format Authorization: Bearer Header übergeben. Es wird empfohlen, Zugriffstoken für mindestens zwei Benutzerkonten mit unterschiedlichen Berechtigungen vorzubereiten. Sie können auch mehrere Zugriffstoken pro Benutzerkonto erstellen, um das korrekte Verhalten für unterschiedlich eingeschränkte Zugriffstoken zu testen.

root@kitploit:~
{
   "<user_a>":[
      {
         "scope":"<scope>",
         "access_token":"<value>",
         "name":"<name_of_access_token>"
      },
      {
         "scope":"<scope>",
         "access_token":"<value>",
         "name":"<name_of_access_token>"
      }
   ],
   "<user_b>":[
      {
         "scope":"<scope>",
         "access_token":"<value>",
         "name":"<name_of_access_token>"
      }
   ]
}

OPENAPI_ENDPOINTS

Die hier angegebenen Endpunkte sollten GET-basierte API-Aufrufe sein. Sie können die Abfrage auch im JSON-Body einfügen. Im folgenden Beispiel ist der Endpunkt /org/{orgs}/repos und die Abfrage dafür type=all. Für den Endpunkt /repos/{owner}/{repo} gibt es keine Abfrage.

root@kitploit:~
{
   "/orgs/{org}/repos":{
      "type":"all"
   },
   "/repos/{owner}/{repo}":{
      
   }
}

OPENAPI_PATHS

Die Pfadvariablen können hier angegeben werden. Der Scanner generiert alle Kombinationen aus den Werten der Pfadvariablen.

root@kitploit:~
{
   "org":[
      "test-org"
   ],
   "owner":[
      "ngalongc",
      "reconless"
   ],
   "repo":[
      "public-repo",
      "private-repo"
   ]
}

In diesem Fall werden die folgenden Kombinationen von API-Aufrufen generiert, die alle mit den verschiedenen in OPENAPI_CREDS angegebenen Anmeldedatensätzen aufgerufen werden.

root@kitploit:~
/orgs/test-org/repos?type=all
/repos/ngalongc/public-repo
/repos/ngalongc/private-repo
/repos/reconless/public-repo
/repos/reconless/private-repo

PRIVATE_TOKEN

Gehen Sie zu https://gitlab.com/-/profile/personal_access_tokens und erstellen Sie ein api-Zugriffstoken und ersetzen Sie den Wert hier. Dieses GitLab-Zugriffstoken wird verwendet, um die Scanergebnisse vom GitLab-Runner herunterzuladen.

root@kitploit:~
<IHRE_GITLAB_API_ACCESS_TOKEN>

OPENAPI_BASE_URL

Dies sollte der Wert der Basis-URL Ihres API-Servers sein.

root@kitploit:~
https://example.com/api/v3

Demo: Einfache Berechtigungstests auf der GitHub-API

Screenshot der Slack-Benachrichtigung, wenn API-Änderungen erkannt werden

Screenshot der Slack-Benachrichtigung, wenn API-Änderungen erkannt werden

Screenshot des Scanergebnisses in den Artefakten

Screenshot des Scanergebnisses in den Artefakten

Beispielbericht: https://ngalog-gitlab.gitlab.io/-/openapi_security_scanner/-/jobs/966841401/artifacts/sample.html

Einschränkungen

  • Es können nur GET-basierte Endpunkte getestet werden
  • Bei einigen API-Endpunkten wie /users/{user_id}/activities sind die Antworten bei jedem Aufruf unterschiedlich, daher ist die Erkennung von Änderungen bei dieser Art von API nicht sinnvoll

Mitwirken

Beiträge machen die Open-Source-Community zu einem so fantastischen Ort zum Lernen, Inspirieren und Gestalten. Jeder Beitrag, den Sie leisten, ist sehr willkommen.

  1. Forken Sie das Projekt
  2. Erstellen Sie Ihren Feature-Branch (git checkout -b feature/AmazingFeature)
  3. Committen Sie Ihre Änderungen (git commit -m 'Add some AmazingFeature')
  4. Pushen Sie zum Branch (git push origin feature/AmazingFeature)
  5. Öffnen Sie eine Merge-Request

Lizenz

Verteilt unter der MIT-Lizenz. Siehe LICENSE für weitere Informationen.

Kontakt

Ron Chan - @ngalongc

Projektlink: https://gitlab.com/ngalog-gitlab/openapi_security_scanner

Tool herunterladen