TP sécurité
Université Cheikh Anta Diop de Dakar
Faculté des Sciences et Techniques
Département informatique
TP3 : Exploitation et Mitigation de Vulnérabilités Web
avec Burp Suite
Ce TP sera axé sur l'exploitation et la sécurisation d'applications web vulnérables comme
DVWA (Damn Vulnerable Web Application) ou bWAPP.
Objectifs du TP
• Identifier, exploiter et mitiger des vulnérabilités web courantes (Injection SQL, XSS,
CSRF).
• Utiliser Burp Suite pour effectuer des tests de sécurité sur une application web
vulnérable.
• Appliquer des bonnes pratiques pour sécuriser l'application.
Prérequis
• Installation de Burp Suite : Télécharge et installe Burp Suite (version Community
ou Professional).
o Pour Burp Suite Community, certaines fonctionnalités comme le scanner de
vulnérabilités ne sont pas disponibles, mais tu peux utiliser des outils comme
Intruder et Repeater pour l'exploitation manuelle.
• Environnement avec une application vulnérable :
o DVWA (Damn Vulnerable Web Application) ou bWAPP.
o Installation de DVWA :
1. Installe un serveur local (comme XAMPP, WAMP, ou LAMP).
2. Télécharge DVWA depuis DVWA GitHub.
3. Décompresse-le dans le dossier htdocs de ton serveur local.
4. Crée une base de données dvwa et configure-la dans le fichier
config/config.inc.php.
MR NDIAYE 1
TP sécurité
1. Configuration de Burp Suite et du Proxy
1. Ouvre Burp Suite et va dans Proxy > Options.
o Vérifie que le proxy est configuré sur 127.0.0.1:8080 (par défaut).
2. Dans ton navigateur, configure le proxy pour qu'il utilise Burp Suite.
o Exemple pour Firefox : Préférences > Réseau > Paramètres de connexion >
Configuration manuelle du proxy et entre 127.0.0.1 pour l'hôte et 8080 pour le
port.
3. Accède à l'application vulnérable via ton navigateur (par exemple,
http://localhost/dvwa).
2. Analyse du Trafic et Découverte des Vulnérabilités
a) Utilisation de Burp Suite pour Analyser les Requêtes
1. Proxy :
o Accède à l'application via ton navigateur pour que Burp Suite Proxy capture
toutes les requêtes HTTP/HTTPS.
o Vérifie les requêtes dans l'onglet Proxy > HTTP History pour voir les
interactions entre le navigateur et l'application.
2. Identifie les Entrées Utilisateurs :
o Repère les zones où l'utilisateur peut saisir des données : formulaires de
connexion, champs de recherche, etc.
3. Vérification avec le Scanner de Burp Suite (si version Pro) :
o Si tu utilises la version Pro, active le scanner de vulnérabilités pour effectuer
une analyse automatique.
o Va dans Target -> Scan et sélectionne l'application pour qu'elle soit analysée.
3. Exploitation des Vulnérabilités avec Burp Suite
a) Injection SQL (SQLi)
1. Capturer une requête SQL via Proxy :
o Ouvre un formulaire où une entrée utilisateur est envoyée, comme un champ
de recherche.
o Intercepte la requête HTTP via le Proxy.
MR NDIAYE 2
TP sécurité
2. Test de l'Injection SQL avec Intruder :
o Envoie la requête capturée à Intruder (clic droit sur la requête et "Send to
Intruder").
o Choisis le type de payload (ici, l'attaque SQLi), et sélectionne la position de
l'attaque dans la requête SQL.
o Exemple de payloads : ' OR 1=1 --, ' UNION SELECT null, user() --.
3. Exploitation :
o Si l'application est vulnérable, la requête retournera des informations sur la
base de données (par exemple, user() peut afficher le nom d'utilisateur actuel
de la base de données).
b) Cross-Site Scripting (XSS)
1. Capturer une Requête avec Proxy :
o Repère un champ de saisie (par exemple, un formulaire de commentaire ou une
recherche) susceptible de contenir un script malveillant.
2. Test XSS avec Repeater :
o Envoie la requête au Repeater pour modifier les données envoyées.
o Insère un payload XSS, par exemple : <script>alert('XSS');</script>.
o Regarde la réponse dans le navigateur pour vérifier si le script est exécuté.
3. Exploitation :
o Si la page exécute le script, cela signifie qu’il existe une vulnérabilité XSS.
c) Cross-Site Request Forgery (CSRF)
1. Capturer la Requête CSRF :
o Repère une action où l'utilisateur effectue une requête sensible, par exemple un
changement de mot de passe.
2. Modifier avec Burp Suite Proxy :
o Modifie la requête HTTP pour la simuler sans que l'utilisateur ne soit
authentifié.
3. Exploit CSRF :
o Crée un formulaire HTML externe qui soumet la requête manipulée sans que
l'utilisateur ne s'en rende compte.
MR NDIAYE 3
TP sécurité
4. Mitigation des Vulnérabilités
a) Mitigation de l'Injection SQL :
1. Utiliser des Requêtes Paramétrées :
o Remplace les requêtes SQL dynamiques par des requêtes paramétrées pour
éviter l'exécution de commandes malveillantes.
2. Validation et Échappement des Entrées :
o Valide toutes les entrées utilisateur avec des expressions régulières pour
s'assurer qu'elles ne contiennent pas de caractères spéciaux.
b) Mitigation de l'XSS :
1. Échapper les Entrées Utilisateur :
o Utilise des fonctions pour échapper les caractères spéciaux dans les entrées
utilisateur (par exemple, <, >, &, ").
2. Content Security Policy (CSP) :
o Implémente une politique CSP pour limiter les sources de contenu exécutables
(scripts, images).
o Exemple de header :
c) Mitigation de la CSRF :
1. Jetons CSRF :
o Utilise des jetons CSRF uniques pour chaque session utilisateur, associés à
chaque requête sensible.
o Exemple en PHP :
MR NDIAYE 4
TP sécurité
2. Méthodes HTTP Sécurisées :
o Assure-toi que les actions sensibles sont effectuées via des méthodes POST et
non GET.
5. Validation de la Mitigation
1. Vérification via Burp Suite :
o Après avoir implémenté les mesures de sécurité, refais les tests d'exploitation
avec Burp Suite pour vérifier que les vulnérabilités ont été corrigées.
2. Test des Entrées Utilisateur :
o Assure-toi qu'aucune donnée malveillante ne peut être injectée et que toutes les
protections sont en place (par exemple, jetons CSRF dans chaque formulaire).
Conclusion
Ce TP te permet de comprendre en détail l'exploitation et la mitigation des vulnérabilités
courantes dans les applications web en utilisant Burp Suite. L'utilisation d'outils comme
Intruder, Repeater, et Proxy permet de tester des attaques comme l'injection SQL, XSS, et
CSRF, tout en appliquant les meilleures pratiques pour les sécuriser.
MR NDIAYE 5