Etapes d'un pentest Web
Comprendre les étapes clés pour tester la sécurité d'une application Web
Notions théoriques
Un pentest Web (ou test d’intrusion Web) est une méthode utilisée pour évaluer la sécurité d’une application Web en simulant des attaques réelles.
Le but est d’identifier des failles exploitables avant qu’un attaquant ne les découvre.
Un pentest Web suit une méthodologie structurée qui comprend plusieurs étapes :
1. Reconnaissance passive
Cette étape consiste à collecter des informations sans interagir directement avec la cible.
Outils utilisés :
- whois
- shodan
- netcraft
- Google Dorking
Objectifs :
- Identifier les technologies utilisées (CMS, serveur web, etc.)
- Trouver des sous-domaines, adresses IP, emails, etc.
2. Reconnaissance active
Interaction directe avec la cible pour obtenir plus d’informations techniques.
Outils :
- nmap
- whatweb
- nikto
Objectifs :
- Scanner les ports ouverts
- Détecter les services web
- Identifier les versions des logiciels
3. Cartographie de l’application
Analyser l’architecture de l’application Web :
- Nombre de pages
- Paramètres GET/POST
- Points d’entrée utilisateur
- Authentification, sessions, cookies
Outils :
- Burp Suite (Spider)
- OWASP ZAP
- Fiddler
4. Recherche de vulnérabilités
Tester les points d’entrée pour détecter des failles :
- Injection SQL
- Cross-Site Scripting (XSS)
- Mauvaise gestion des sessions
- Contrôle d’accès insuffisant
Méthodes :
- Tests manuels avec Burp Suite
- Scanners automatisés (Nikto, OWASP ZAP)
5. Exploitation
Après avoir identifié une faille, tenter de l’exploiter pour confirmer son existence :
- Extraire des données via une injection SQL
- Exécuter du JavaScript malveillant avec XSS
- Accéder à un compte sans autorisation
6. Rédaction du rapport
Documenter toutes les étapes :
- Vulnérabilités trouvées
- Méthodes utilisées
- Preuves d’exploitation
- Recommandations de correction
Exemple pratique
Il est possible de réaliser un pentest Web sur une application vulnérable en local.
Le projet DVWA (Damn Vulnerable Web Application) est conçu pour s’entraîner à l’audit de sécurité Web.
Étapes à suivre :
- Télécharger et installer DVWA avec Docker :
git clone https://github.com/digininja/DVWA.git
cd DVWA
docker-compose up -d
-
Accéder à l’application via le navigateur à l’adresse :
http://localhost:8080 -
Se connecter avec les identifiants par défaut :
- Nom d’utilisateur :
admin - Mot de passe :
password
- Nom d’utilisateur :
-
Lancer Burp Suite et configurer son navigateur pour intercepter le trafic HTTP.
-
Explorer l’application avec Burp Suite pour :
- Identifier les formulaires
- Repérer les paramètres GET/POST
- Intercepter les requêtes
-
Tester les vulnérabilités dans les modules proposés (XSS, SQLi, CSRF, etc.).
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
L’objectif est de mettre en pratique les étapes d’un pentest Web en analysant une application vulnérable différente de DVWA.
Ce TP utilise l’application bWAPP (buggy Web Application), un projet open-source conçu pour s’entraîner à l’audit de sécurité Web.
Étape 1 — Récupérer et lancer l’application bWAPP
Cloner le dépôt bWAPP et exécuter le conteneur Docker :
git clone https://github.com/raesene/bwapp.git
cd bwapp/docker
docker-compose up -d
Accéder à l’application via le navigateur à l’adresse :
http://localhost:8080/install.php
Suivre les instructions pour l’installation de la base de données.
Puis se connecter à l’application à l’adresse suivante :
http://localhost:8080/login.php
Identifiants par défaut :
- Nom d’utilisateur :
bee - Mot de passe :
bug
L’application bWAPP est accessible via Docker et propose une interface Web contenant plusieurs modules vulnérables.
Lors de la première connexion, il faut initialiser la base de données via la page install.php.
Une fois connecté avec les identifiants bee / bug, il est possible de choisir un niveau de sécurité (low, medium, high) et un type de vulnérabilité à tester.
Étape 2 — Intercepter le trafic HTTP avec Burp Suite
Configurer le navigateur pour utiliser un proxy local (127.0.0.1:8080) et lancer Burp Suite.
Dans l’onglet Proxy > Intercept, activer l’interception et naviguer dans l’application bWAPP.
Repérer les requêtes HTTP contenant des paramètres, des cookies, ou des formulaires.
Dans Burp Suite :
- Aller dans Proxy > Options pour vérifier que le proxy écoute sur 127.0.0.1:8080.
- Dans le navigateur, configurer le proxy HTTP manuellement.
- Naviguer sur bWAPP pour intercepter les requêtes HTTP.
- Observer les paramètres envoyés dans les requêtes POST ou GET.
- Identifier des points d’entrée exploitables (ex : champs de formulaire, URL avec paramètres).