
vAPI est une interface programmée de manière vulnérable (Vulnerable Adversely Programmed Interface) qui est une API auto-hébergeable reproduisant les scénarios du Top 10 OWASP API à travers des exercices.
vAPI est une Interface Programmée Vulnérable et Adversaire (Vulnerable Adversely Programmed Interface), auto-hébergeable, qui reproduit les scénarios du Top 10 des API OWASP sous forme d'exercices.
docker-compose up -d
cd <your-hosting-directory>
git clone https://github.com/roottusk/vapi.git
Importer vapi.sql dans la base de données MySQL
Configurer les identifiants de la base de données dans vapi/.env
Exécuter la commande suivante (Linux)
service mysqld start
Aller dans le répertoire vapi et exécuter
php artisan serve
vAPI.postman_collection.json dans PostmanvAPI_ENV.postman_environment.json dans PostmanOU
Utiliser l'espace de travail public
Naviguer vers http://localhost/vapi/ pour la documentation
Après avoir envoyé les requêtes, consulter les tests Postman ou l'environnement pour les jetons générés.
Helm peut être utilisé pour déployer dans un namespace Kubernetes. Le chart se trouve dans le dossier vapi-chart. Le chart nécessite un secret nommé vapi avec les valeurs suivantes :
DB_PASSWORD: <database password to use>
DB_USERNAME: <database username to use>
Exemple de commande d'installation Helm : helm upgrade --install vapi ./vapi-chart --values=./vapi-chart/values.yaml
*** Important ***
Le MYSQL_ROOT_PASSWORD à la ligne 232 du fichier values.yaml doit correspondre à celui de la ligne 184 pour que cela fonctionne.
[1] https://cyc0rpion.medium.com/exploiting-owasp-top-10-api-vulnerabilities-fb9d4b1dd471 (vAPI 1.0 Writeup)
[2] https://www.youtube.com/watch?v=0F5opL_c5-4&list=PLT1Gj1RmR7vqHK60qS5bpNUeivz4yhmbS (Langue turque) (vAPI 1.1 Walkthrough)
[3] https://medium.com/@jyotiagarwal3190/roottusk-vapi-writeup-341ec99879c (vAPI 1.1 Writeup)
L'icône et la bannière utilisent une image provenant de Flaticon