Absichtlich anfällige Microservices-API, die für praktisches Training der OWASP API Security Top 10 Risiken entwickelt wurde, mit integrierten Herausforderungen und einem realistischen Autokauf-Workflow.
completely ridiculous API (crAPI) hilft dir, die zehn kritischsten API-Sicherheitsrisiken zu verstehen. crAPI ist absichtlich verwundbar, aber du kannst es sicher ausführen, um dich weiterzubilden/zu trainieren.
crAPI ist modern und basiert auf einer Microservices-Architektur. Wenn es Zeit ist, dein erstes Auto zu kaufen, melde dich an und beginne deine Reise. Um mehr über crAPI zu erfahren, wirf einen Blick auf die crAPI-Übersicht.
Nach der Einrichtung von crAPI wird empfohlen, den vorgesehenen Benutzerworkflow zu durchlaufen, um zu verstehen, wie die Anwendung funktionieren soll, bevor man sich an die Sicherheitsherausforderungen wagt.
-Anwendungsworkflow (Happy Path)
Du musst Docker und docker compose installiert und auf deinem Hostsystem ausgeführt haben. Außerdem sollte die Version von docker compose 1.27.0 oder höher sein. Überprüfe deine docker compose Version mit:
docker compose version
Aktualisiere deine docker compose Version, wenn Fehler wie folgender auftreten:
ERROR: Invalid interpolation format for ...
Du kannst vorgefertigte Images verwenden, die von unserem CI-Workflow erstellt wurden, indem du die docker compose und .env Dateien herunterlädst.
Zur Verwendung der neuesten stabilen Version.
curl -L -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zip
unzip /tmp/crapi.zip
cd crAPI-main/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Um Serverkonfigurationen zu überschreiben, ändere die Werte der Variablen in der .env-Datei oder füge die entsprechenden Variablen am Anfang des docker compose Befehls hinzu.
Zum Beispiel, um das System für alle Netzwerkschnittstellen freizugeben.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
curl.exe -L -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/main.zip
tar -xf .\crapi.zip
cd crAPI-main/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Um Serverkonfigurationen zu überschreiben, ändere die Werte der Variablen in der .env-Datei oder füge die entsprechenden Variablen am Anfang des docker compose Befehls hinzu.
Zum Beispiel, um das System für alle Netzwerkschnittstellen freizugeben.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
Zur Verwendung der neuesten Entwicklungsversion
curl -L -o /tmp/crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/develop.zip
unzip /tmp/crapi.zip
cd crAPI-develop/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Um Serverkonfigurationen zu überschreiben, ändere die Werte der Variablen in der .env-Datei oder füge die entsprechenden Variablen am Anfang des docker compose Befehls hinzu.
Zum Beispiel, um das System für alle Netzwerkschnittstellen freizugeben.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
curl.exe -L -o crapi.zip https://github.com/OWASP/crAPI/archive/refs/heads/develop.zip
tar -xf .\crapi.zip
cd crAPI-develop/deploy/docker
docker compose pull
docker compose -f docker-compose.yml --compatibility up -d
Um Serverkonfigurationen zu überschreiben, ändere die Werte der Variablen in der .env-Datei oder füge die entsprechenden Variablen am Anfang des docker compose Befehls hinzu.
Zum Beispiel, um das System für alle Netzwerkschnittstellen freizugeben.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
Besuche http://localhost:8888
Hinweis: Alle E-Mails werden standardmäßig an den mailhog-Dienst gesendet und können unter http://localhost:8025 eingesehen werden. Du kannst die SMTP-Konfiguration bei Bedarf ändern, jedoch werden alle E-Mails mit der Domain example.com weiterhin an mailhog gesendet.
Für die Konfiguration des Chatbot-LLM-Anbieters siehe Setup-Anleitung.
Diese Option ermöglicht es dir, crAPI in einer virtuellen Maschine auszuführen und so von deinem System isoliert zu betreiben. Du musst Vagrant und zum Beispiel VirtualBox installiert haben.
$ git clone [REPOSITORY-URL]
$ cd deploy/vagrant && vagrant up
Hinweis: Alle E-Mails werden an den mailhog-Dienst gesendet und können unter http://192.168.33.20:8025 eingesehen werden.
Wenn du mit crAPI fertig bist, kannst du es vollständig von deinem System entfernen, indem du den folgenden Befehl aus dem Stammverzeichnis des Repositories ausführst
$ cd deploy/vagrant && vagrant destroy
Wenn du Hilfe bei der Installation und Ausführung von crAPI benötigst, wirf einen Blick auf diesen Leitfaden: Fehlerbehebungsanleitung crAPI. Wenn dies dein Problem nicht löst, erstelle bitte ein Issue in Github Issues.