
Уязвимое Python-приложение для изучения безопасной разработки
Vulpy — это веб-приложение, разработанное на Python/Flask/SQLite, имеющее два лица.
ХОРОШАЯ: Пытается программировать с учетом лучших практик безопасной разработки.
ПЛОХАЯ: Пытается программировать, как (возможно) вы. :p
Разработана в качестве лаборатории для следующих курсов:
Безопасная разработка от Securetia (https://www.securetia.com/cursos.html) Безопасная разработка от EducaciónIT (https://www.educacionit.com/curso-de-desarrollo-seguro)
Но вы можете использовать её по своему усмотрению (лицензия MIT)
Версия «GOOD» (еще не завершена) будет соответствовать OWASP ASVS:
https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project
Это позволит научиться разрабатывать код на Python, следуя лучшим практикам безопасности.
::
git clone https://github.com/fportantier/vulpy
cd vulpy
pip3 install --user -r requirements.txt
Некоторые из уязвимостей, присутствующих в версии «BAD»:
Примечание: Версия «GOOD» (еще не завершена) не должна содержать уязвимости, но я человек, так что...
Обе версии, «BAD» и «GOOD», требуют инициализации базы данных.
Это выполняется с помощью скрипта «db_init.py» внутри каждой из папок (bad и good).
Каждая версия имеет свои собственные файлы sqlite для пользователей и записей.
Выполнение скрипта, например:
::
cd bad ./db_init.py
После инициализации базы данных создаются три пользователя:
::
Username Password
admin SuperSecret elliot 123123123 tim 12345678
Вы можете войти с любым пользователем; приложение не имеет системы прав, поэтому все три имеют одинаковые разрешения.