
Aplicação Python Vulnerável para Aprender Desenvolvimento Seguro
Vulpy é uma aplicação web desenvolvida em Python / Flask / SQLite que tem duas faces.
GOOD: Tenta codificar com as melhores práticas de desenvolvimento seguro em mente.
BAD: Tenta codificar como (possivelmente) você. :p
É desenvolvido como um laboratório para os seguintes cursos:
Desenvolvimento Seguro da Securetia (https://www.securetia.com/cursos.html) Desenvolvimento Seguro da EducaciónIT (https://www.educacionit.com/curso-de-desarrollo-seguro)
Mas você pode usá-lo como quiser (Licença MIT)
A versão "GOOD" (ainda não finalizada) estará em conformidade com o OWASP ASVS:
https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project
Isso permitirá aprender como desenvolver código Python seguindo as melhores práticas de segurança.
::
git clone https://github.com/fportantier/vulpy
cd vulpy
pip3 install --user -r requirements.txt
Algumas das vulnerabilidades presentes na versão "BAD":
Nota: A versão "GOOD" (ainda não finalizada) supostamente não deve ter vulnerabilidades, mas eu sou um ser humano, então...
Ambas as versões, "BAD" e "GOOD", requerem uma inicialização do banco de dados.
Isso é feito com o script "db_init.py" dentro de cada um dos diretórios (bad e good).
Cada versão tem seus próprios arquivos sqlite para os usuários e posts.
A execução do script é, por exemplo:
::
cd bad ./db_init.py
Após a inicialização do banco de dados, três usuários são criados:
::
Username Password
admin SuperSecret elliot 123123123 tim 12345678
Você pode fazer login com qualquer usuário, a aplicação não tem um sistema de permissões, então os três têm as mesmas permissões.