
API di microservizi deliberatamente vulnerabile progettata per formazione pratica sui rischi OWASP API Security Top 10, con sfide integrate e un flusso di lavoro realistico per l'acquisto di auto.
completamente ridicola API (crAPI) ti aiuterà a comprendere i dieci rischi più critici per la sicurezza delle API. crAPI è vulnerabile per progettazione, ma puoi eseguirlo in sicurezza per formarti/allenarti.
crAPI è moderno, costruito su un'architettura a microservizi. Quando arriva il momento di acquistare la tua prima auto, registrati con un account e inizia il tuo viaggio. Per saperne di più su crAPI, consulta la panoramica di crAPI.
Dopo aver configurato crAPI, si consiglia di seguire il flusso utente previsto per capire come l'applicazione dovrebbe funzionare prima di tentare qualsiasi sfida di sicurezza.
-Flusso dell'applicazione (Happy Path)
Dovrai avere Docker e docker compose installati e in esecuzione sul tuo sistema host. Inoltre, la versione di docker compose deve essere 1.27.0 o superiore. Controlla la tua versione di docker compose usando:
docker compose version
Aggiorna la tua versione di docker compose se ricevi errori come
ERROR: Invalid interpolation format for ...
Puoi utilizzare le immagini predefinite generate dal nostro flusso di lavoro CI scaricando i file docker compose e .env.
Per utilizzare l'ultima versione stabile.
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
Per sovrascrivere le configurazioni del server, modifica i valori delle variabili presenti nel file .env o aggiungi le rispettive variabili all'inizio del comando docker compose.
Ad esempio, per esporre il sistema a tutte le interfacce di rete.
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
Per sovrascrivere le configurazioni del server, modifica i valori delle variabili presenti nel file .env o aggiungi le rispettive variabili all'inizio del comando docker compose.
Ad esempio, per esporre il sistema a tutte le interfacce di rete.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d
Per utilizzare l'ultima versione di sviluppo
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
Vai su http://localhost:8888
Nota: Tutte le email vengono inviate al servizio mailhog per impostazione predefinita e possono essere controllate su http://localhost:8025 Puoi modificare la configurazione SMTP se necessario, tuttavia tutte le email con dominio example.com andranno comunque a mailhog.
Per la configurazione del provider LLM del chatbot, consulta le istruzioni di configurazione.
Questa opzione ti permette di eseguire crAPI all'interno di una macchina virtuale, quindi isolata dal tuo sistema. Dovrai avere Vagrant e, ad esempio, VirtualBox installati.
$ git clone [REPOSITORY-URL]
$ cd deploy/vagrant && vagrant up
Nota: Tutte le email vengono inviate al servizio mailhog e possono essere controllate su http://192.168.33.20:8025
Una volta che hai finito di giocare con crAPI, puoi rimuoverlo completamente dal tuo sistema eseguendo il seguente comando dalla directory radice del repository
$ cd deploy/vagrant && vagrant destroy
Se hai bisogno di aiuto con l'installazione e l'esecuzione di crAPI, puoi consultare questa guida: Guida alla risoluzione dei problemi crAPI. Se questo non risolve il tuo problema, crea un problema nelle Issues di GitHub.
Per sovrascrivere le configurazioni del server, modifica i valori delle variabili presenti nel file .env o aggiungi le rispettive variabili all'inizio del comando docker compose.
Ad esempio, per esporre il sistema a tutte le interfacce di rete.
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
Per sovrascrivere le configurazioni del server, modifica i valori delle variabili presenti nel file .env o aggiungi le rispettive variabili all'inizio del comando docker compose.
Ad esempio, per esporre il sistema a tutte le interfacce di rete.
LISTEN_IP="0.0.0.0" docker compose -f docker-compose.yml --compatibility up -d