0% ont trouvé ce document utile (0 vote)
30 vues18 pages

Installation et tests de sécurité SAST/DAST

Transféré par

Ahmed El Mansi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
30 vues18 pages

Installation et tests de sécurité SAST/DAST

Transféré par

Ahmed El Mansi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

2MP2L

Lab2 SSDLC
Travail élaboré par :

Aymen gharbi , Mounir Kacem, Chifa belhaj Rhouma

1. Installation et test de l'outil SAST flawfinder:

Sur machine windows :


1- Installer Python
2- Installer Flawfinder:
 Ouvrez l'invite de commande et exécutez : pip install flawfinder
 Vérifier que flawfinder est installé sur la machine :

1
2MP2L

Créez un fichier nommé [Link] avec le contenu suivant pour simuler un code potentiellement
vulnérable

Dans ce code :

 strcpy ne vérifie pas la taille du tampon, ce qui peut provoquer un débordement de


tampon.
 gets est une fonction dangereuse, car elle n'impose pas de limite sur la taille de l'entrée,
ce qui peut aussi provoquer un débordement de tampon.

Exécuter Flawfinder sur ce fichier test.c et analyser les failles de sécurité potentielles :

2
2MP2L

2-Installer et tester OWASP WEBGOAT et DVWA (avec docker comme


recommandation)

Étape 1 : Installer OWASP WebGoat avec Docker

3
2MP2L

Lancer WebGoat : Après avoir tiré l'image, vous pouvez démarrer WebGoat avec la commande suivante

Cette commande mappe le port 8080 de votre machine locale au port 8080 du conteneur Docker, ce qui
vous permet d'accéder à WebGoat via un navigateur web.

4
2MP2L

Une fois le conteneur en cours d'exécution, ouvrez votre navigateur et accédez à l'URL suivante :

[Link]

Utilisez les identifiants créer apres creation de nouveau utilisateur pour vous connecter :

 Nom d'utilisateur : groupelab


 Mot de passe : groupelab

 Sélectionner la leçon SQL Injection (intro) :

5
2MP2L

 Lire l'énoncé de l'exercice :

 Tester une injection SQL :

Arrêter WebGoat

docker stop <container_id>

Vous pouvez obtenir l'ID du conteneur avec :

Étape 2 : Installer DVWA (Damn Vulnerable Web Application) avec


Docker
1. Tirer l'image Docker de DVWA : Dans le terminal, exécutez la commande suivante pour
télécharger et démarrer DVWA :

6
2MP2L

2. Lancer DVWA :

3. Accéder à DVWA : [Link]

Utilisez les identifiants par défaut pour vous connecter :

 Nom d'utilisateur : admin


 Mot de passe : password

7
2MP2L

4- Configurer la base de données en cliquant sur le bouton "Create / Reset Database"


5- Et tester la vulnérabilité brute force ou sql injection

8
2MP2L

*Créer une page d'authentification PHP/Mysql simple vulnerable (login/pass)

Base de donnees : dbtest

Page php vulnérable : [Link]

9
2MP2L

Page html : [Link]

Page css : [Link]

10
2MP2L

Test d’une connexion valide :

Login : lina

Mot de passe : linapass

11
2MP2L

Résultat : Si les identifiants sont corrects, le script renverra une réponse JSON comme celle-ci :

Si les identifiants sont incorrects, la réponse sera :

injection SQL:

 Login : lina
 Mot de passe : ' OR '1'='1

Cette requête SQL sera exécutée comme suit :

SELECT * FROM users WHERE login = 'lina' AND pass = '' OR '1'='1';

L'expression OR '1'='1' est toujours vraie, ce qui permet à un attaquant de contourner


l'authentification.

Et permet à l’attaquant de s’identifier

12
2MP2L

Déterminer le nombre de colonnes avec Blind SQL Injection (ORDER BY) :

 Injection avec ORDER BY


Le principe est d'essayer plusieurs valeurs pour l'option ORDER BY afin de découvrir le nombre
de colonnes dans la table. Voici comment procéder manuellement :

Injectez dans le champ de mot de passe :


' ORDER BY 1 –

Resultat obtenu :

Lorsque vous dépassez le nombre de colonnes réelles, la requête SQL retournera une erreur. Le dernier
nombre qui ne provoque pas d'erreur indique le nombre exact de colonnes dans la table. Dans notre
cas, ORDER BY 3 fonctionne, mais que ORDER BY 4 retourne une erreur, cela signifie que la table a
exactement 3 colonnes.

Installer OWASP Sonarqube avec docker :

13
2MP2L

Lancer SonarQube :

Accéder à SonarQube : [Link]

Login: admin
Password: Adminstrator1@

14
2MP2L

Analyser votre projet PHP avec sonar scanner apres son installation et configuration :

15
2MP2L

Visualiser les résultats dans SonarQube : Ouvrez votre navigateur et accédez à SonarQube via
[Link]

16
2MP2L

17
2MP2L

18

Vous aimerez peut-être aussi