
Applicazione Python vulnerabile per imparare lo sviluppo sicuro
Vulpy è un'applicazione web sviluppata in Python / Flask / SQLite che ha due facce.
BUONA: Cerca di programmare tenendo a mente le migliori pratiche di sviluppo sicuro.
CATTIVA: Cerca di programmare come (probabilmente) fai tu. :p
È sviluppata come laboratorio per i seguenti corsi:
Sviluppo Sicuro di Securetia (https://www.securetia.com/cursos.html) Sviluppo Sicuro di EducaciónIT (https://www.educacionit.com/curso-de-desarrollo-seguro)
Ma puoi usarlo come vuoi (Licenza MIT)
La versione "BUONA" (non ancora completata) sarà conforme a OWASP ASVS:
https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project
Ciò permetterà di imparare come sviluppare codice Python seguendo le migliori pratiche di sicurezza.
::
git clone https://github.com/fportantier/vulpy
cd vulpy
pip3 install --user -r requirements.txt
Alcune delle vulnerabilità presenti nella versione "CATTIVA":
Nota: La versione "BUONA" (non ancora completata) dovrebbe non avere vulnerabilità, ma sono un essere umano, quindi...
Entrambe le versioni, "CATTIVA" e "BUONA", richiedono un'inizializzazione del database.
Ciò viene fatto con lo script "db_init.py" all'interno di ciascuna directory (bad e good).
Ogni versione ha i propri file sqlite per gli utenti e i post.
L'esecuzione dello script è, ad esempio:
::
cd bad ./db_init.py
Dopo l'inizializzazione del database, vengono creati tre utenti:
::
Username Password
admin SuperSecret elliot 123123123 tim 12345678
Puoi accedere con qualsiasi utente, l'applicazione non ha un sistema di permessi, quindi i tre hanno gli stessi permessi.