
Application Python vulnérable pour apprendre le développement sécurisé
Vulpy est une application web développée en Python / Flask / SQLite qui a deux facettes.
BONNE : Tente de coder en respectant les bonnes pratiques de développement sécurisé.
MAUVAISE : Tente de coder comme (peut-être) vous. :p
Elle est développée comme laboratoire pour les cours suivants :
Développement Sécurisé de Securetia (https://www.securetia.com/cursos.html) Développement Sécurisé de EducaciónIT (https://www.educacionit.com/curso-de-desarrollo-seguro)
Mais vous pouvez l'utiliser comme vous le souhaitez (Licence MIT)
La version "BONNE" (pas encore terminée) sera conforme à l'OWASP ASVS :
https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project
Cela permettra d'apprendre à développer du code Python en suivant les bonnes pratiques de sécurité.
::
git clone https://github.com/fportantier/vulpy
cd vulpy
pip3 install --user -r requirements.txt
Quelques-unes des vulnérabilités présentes dans la version "MAUVAISE" :
Remarque : La version "BONNE" (pas encore terminée) est censée ne pas avoir de vulnérabilités, mais je suis un être humain, alors...
Les versions "MAUVAISE" et "BONNE" nécessitent toutes deux une initialisation de la base de données.
Cela se fait avec le script "db_init.py" dans chacun des répertoires (bad et good).
Chaque version a ses propres fichiers sqlite pour les utilisateurs et les messages.
L'exécution du script est, par exemple :
::
cd bad ./db_init.py
Après l'initialisation de la base de données, trois utilisateurs sont créés :
::
Nom d'utilisateur Mot de passe
admin SuperSecret elliot 123123123 tim 12345678
Vous pouvez vous connecter avec n'importe quel utilisateur, l'application n'a pas de système de permissions, donc les trois ont les mêmes permissions.