Sécurité applicative
Lab2 SSDLC
MOHAMED SALAH Kabtni
MOHAMED Trabelsi
Hanéne Lahbib
M2 MP2L DR. NIHEL BEN YOUSSEF
Enoncé :
Installer et tester l'outil SAST flawfinder
Veuillez travailler en binôme ou trinôme et non en mônome.
-Installer et tester OWASP WEBGOAT et DVWA (avec docker comme recommandation)
- Créer une page d'authentification PHP/Mysql simple vulnerable (login/pass) avec une table mysql à deux colonnes login/pass et le contenu de votre choix,la réponse de l'application à des login et mot de passe valides est d'extraire la ligne correspondante et l'afficher en format json (par exemple: bonjour [{lina},{linapass}]
- Pentester manuellement la page d'authentification en utilisant SQL injection Tautology (or 1=1) et en détectant e nombre de colonne de la table avec Blind sql injection boolean (order by)
- Installer OWASP Sonarqube et tester la sécurité de votre propre code php.
Travail :
Installer et tester l'outil SAST flawfinder
FlawFinder est un outil simple, efficace et rapide qui analyse votre code source C/C++ à la recherche d'appels à des fonctions de bibliothèque vulnérables typiques. Il a été développé par David Wheeler. un expert en sécurité renommé. Il est exécuté en ligne de commande. Son résultat peut facilement être personnalisé.
Etapes d’installation :
Publicité
1. -Telecharger FlawFinder à partir du site : https://dwheeler.com/flawfinder/
2. Telecharger et installer anaconda python distrubtion version 3.7 à partir du site
https://www.anaconda.com/products/individual
3. Ouvrir anaconda prompt
4. Installer flawfinder avec la commande :
pip install flawfinder
5. On a telechargé un code en c vulnérable pour le testé 6. Ouvrir le code c dans Flawfinder et tester a laide da la commande :
Python flawfinder.py chemin_de_fichier.c
7. Analyser le code static
Dans notre cas flawfinder a detecté 3 erreurs ( en jaune dans la capture si dessus) se sont des errurs logiques ont causé une menaces sérieuse pour le fichier dans le futur.
Installer et tester OWASP WEBGOAT et DVWA avec docker
WebGoat est une application délibérément non sécurisée qui permet aux développeurs
intéressés de tester les vulnérabilités couramment trouvées dans les applications basées sur
Java qui utilisent des composants open source courants et populaires.
On a utilisé
la dernière version officielle de
l'image WebGoat Docker 8.0 depuis
Publicité
hub.docker.com
On a démarré WebGoat en tant que conteneur Docker
On a créé un compte afin d’accédé à webgoat depuis localhost :8080/WebGoat/login
Puis on a suivi la lesson de SQL Injection afin de comprendre comment on peut manipuler SQL
pour effectuer des tâches qui n'étaient pas l'intention initiale du développeur
On a récupéré le département de l'employé Bob Franco avec la commande :
select department from employees where last_name='Franco'
Après, on a changé le département de Tobi Barnett en « Sales »
UPDATE employees SET department='Sales' WHERE last_name='Barnett'
Après on a modifié le schéma en ajoutant la colonne "phone" (varchar(20)) à la table
"employees"
ALTER TABLE employees ADD phone varchar(20)
Après on a accordé des droits à la table grant_rights à l'utilisateur non autorisé
GRANT ALTER TABLE ON grant_rights TO unauthorized_user;
Employee Name : Smith
Authentication TAN : 3SL99A' or 1=1; update employees set salary=99999999 where
last_name='Smith';--
Publicité
Action contains: ';drop table access_log;--
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL qui est sacrément
vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs
compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web
à mieux comprendre les processus de sécurisation des applications Web et d'aider les
enseignants/étudiants à enseigner/apprendre la sécurité des applications Web dans un
environnement de classe.
On a execute la commande : docker pull vulnerables/web-dvwa
Puis pour exécuter cette image on a lancé la commande :
docker run --rm -it -p 80:80 vulnerables/web-dvwa
Puis on doit se connecter à localhost/setup.php afin de configurer notre environnement pour
accéder à la page d’authentification
On a ajouté ‘ après id=1 dans
http://localhost/vulnerabilities/sqli/?id=1’%27&Submit=Submit#
localhost/vulnerabilities/sqli/?id=1 ‘order by 1,2--+&Submit=Submit#