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
VAmPI — Verwundbare REST-API mit den OWASP Top 10 Schwachstellen für Sicherheitstests | Kitploit
Tools/GitHubGitHub/erev0s/vampi
Web-SchwachstellenscannerSchwachstellenanalyseAPI-SicherheitstestsLernen & BildungLabs & Praxis
GitHuberev0s/vampi

VAmPI

Verwundbare REST-API mit den OWASP Top 10 Schwachstellen für Sicherheitstests

Repository anzeigen
1.3k580vor 4 MonatenVon 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

VAmPI

Die verwundbare API (Based on OpenAPI 3) vampi

Docker Image CI Docker Pulls

VAmPI ist eine verwundbare API, die mit Flask erstellt wurde und enthält Schwachstellen aus den OWASP Top 10 Schwachstellen für APIs. Es wurde erstellt, weil ich eine verwundbare API wollte, um die Effizienz von Tools zu bewerten, die Sicherheitsprobleme in APIs erkennen. Es enthält einen Ein-/Ausschalter, um die API während des Testens verwundbar oder nicht verwundbar zu machen. Dies ermöglicht eine bessere Abdeckung der Fälle von Falsch-Positiven/Negativen. VAmPI kann auch für Lern-/Lehrzwecke verwendet werden. Weitere Details zu den Schwachstellen finden Sie auf erev0s.com.

Funktionen

  • Basiert auf den OWASP Top 10 Schwachstellen für APIs.
  • OpenAPI3-Spezifikationen und Postman-Sammlung enthalten.
  • Globaler Ein-/Ausschalter, um eine verwundbare Umgebung zu haben oder nicht.
  • Token-basierte Authentifizierung (Lebensdauer in app.py anpassen)
  • Verfügbare Swagger UI zur direkten Interaktion mit der API

Der Ablauf der Aktionen von VAmPI ist wie folgt: Ein nicht registrierter Benutzer kann minimale Informationen über die in der API enthaltenen Dummy-Benutzer sehen. Ein Benutzer kann sich registrieren und dann anmelden, um den während der Anmeldung erhaltenen Token zum Posten eines Buches zu verwenden. Für ein gepostetes Buch werden der Titel und ein Geheimnis über dieses Buch akzeptiert. Jedes Buch ist für jeden Benutzer einzigartig und nur der Besitzer des Buches sollte das Geheimnis sehen dürfen.

Eine kurze Übersicht der enthaltenen Aktionen ist in der folgenden Tabelle zu sehen:

Für weitere Details können Sie entweder VAmPI ausführen und http://127.0.0.1:5000/ui/ besuchen oder einen Dienst wie den Swagger Editor verwenden, indem Sie die OpenAPI-Spezifikation bereitstellen, die im Verzeichnis openapi_specs zu finden ist.

Liste der Schwachstellen

  • SQL-Injection
  • Unbefugte Passwortänderung
  • Fehlerhafte Autorisierung auf Objektebene
  • Massenzuweisung
  • Übermäßige Datenfreigabe über Debug-Endpunkt
  • Benutzer- und Passwort-Enumeration
  • RegexDOS (Denial of Service)
  • Mangel an Ressourcen und Ratenbegrenzung
  • JWT-Authentifizierungsumgehung durch schwachen Signaturschlüssel

Ausführen

Es ist eine Flask-Anwendung, daher können Sie alle Abhängigkeiten installieren und dann die app.py ausführen. Um alle Abhängigkeiten zu installieren, führen Sie einfach pip3 install -r requirements.txt und dann python3 app.py aus.

Oder wenn Sie bevorzugen, können Sie es auch über Docker oder Docker Compose ausführen.

Ausführen über Docker

  • Verfügbar auf Docker Hub
root@kitploit:~
docker run -p 5000:5000 erev0s/vampi:latest

[Hinweis: Wenn Sie Docker auf neueren Versionen von macOS ausführen, verwenden Sie -p 5001:5000, um Konflikte mit dem AirPlay-Empfängerdienst zu vermeiden. Alternativ können Sie den AirPlay-Empfängerdienst in Ihren Systemeinstellungen -> Freigaben deaktivieren.]

Ausführen über Docker Compose

docker-compose enthält zwei Instanzen, eine mit der sicheren Konfiguration auf Port 5001 und eine weitere mit unsicherer auf Port 5002:

root@kitploit:~
docker-compose up -d

Verfügbare Swagger UI 🚀

Besuchen Sie den Pfad /ui der ausgeführten API, und eine Swagger UI wird verfügbar sein, um Ihnen den Einstieg zu erleichtern!

root@kitploit:~
http://127.0.0.1:5000/ui/

Anpassen des Token-Timeout und der verwundbaren Umgebung

Wenn Sie das Timeout des nach der Anmeldung erstellten Tokens ändern oder die Umgebung so ändern möchten, dass sie nicht verwundbar ist, können Sie je nachdem, wie Sie die Anwendung ausführen, einige Möglichkeiten nutzen.

  • Wenn Sie es normal mit python3 app.py ausführen, müssen Sie nur die in der app.py definierten Variablen alive und vuln bearbeiten. Die Variable alive wird in Sekunden gemessen. Wenn Sie also 100 eingeben, läuft der Token nach 100 Sekunden ab. Die Variable vuln ist wie ein Boolean. Wenn Sie sie auf 1 setzen, ist die Anwendung verwundbar, und wenn Sie sie auf 0 setzen, ist die Anwendung nicht verwundbar.
  • Wenn Sie es über Docker ausführen, müssen Sie entweder Umgebungsvariablen an den docker run-Befehl übergeben oder die Dockerfile bearbeiten und neu erstellen.
    • Docker run Beispiel: docker run -d -e vulnerable=0 -e tokentimetolive=300 -p 5000:5000 erev0s/vampi:latest

Häufig gestellte Fragen

  • Es tritt ein Datenbankfehler beim Erreichen von Endpunkten auf!
    • Stellen Sie sicher, dass Sie eine Anfrage an den Endpunkt /createdb senden, um die Datenbank zu befüllen.

Bild von Freepik - www.freepik.com

Tool herunterladen
AktionPfadDetails
GET/createdbErstellt und befüllt die Datenbank mit Dummy-Daten
GET/VAmPI-Startseite
GET/meZeigt den angemeldeten Benutzer an
GET/users/v1Zeigt alle Benutzer mit grundlegenden Informationen an
GET/users/v1/_debugZeigt alle Details für alle Benutzer an
POST/users/v1/registerNeuen Benutzer registrieren
POST/users/v1/loginBei VAmPI anmelden
GET/users/v1/{username}Zeigt Benutzer nach Benutzername an
DELETE/users/v1/{username}Löscht Benutzer nach Benutzername (nur Administratoren)
PUT/users/v1/{username}/emailE-Mail eines einzelnen Benutzers aktualisieren
PUT/users/v1/{username}/passwordPasswort des Benutzers aktualisieren
GET/books/v1Ruft alle Bücher ab
POST/books/v1Neues Buch hinzufügen
GET/books/v1/{book}Ruft Buch nach Titel zusammen mit Geheimnis ab
  • Ein nettes Feature dieser Ausführungsweise ist, dass Sie einen zweiten Container mit vulnerable=1 auf einem anderen Port starten und einfach zwischen den beiden wechseln können.
  • In der Dockerfile finden Sie zwei gesetzte Umgebungsvariablen: ENV vulnerable=1 und ENV tokentimetolive=60. Ändern Sie diese nach Belieben, bevor Sie den Docker-Build-Befehl ausführen.