Explore Notes
Offensive

Burp Suite — Proxy d'Interception Web

Guide complet de Burp Suite : Proxy, Repeater, Intruder, Decoder et techniques d'analyse d'applications web.

15 février 2026@vladimir6 min de lecture
#burpsuite#proxy#web-security#interception#pentest

Introduction

Burp Suite est la plateforme de référence pour le test de sécurité des applications web. Son proxy d'interception permet de capturer, modifier et rejouer les requêtes HTTP/HTTPS entre le navigateur et le serveur cible. Cet outil est indispensable pour identifier les vulnérabilités web.

Architecture de Burp Suite

ModuleDescription
ProxyInterception et modification des requêtes HTTP/S
RepeaterRejeu et modification manuelle de requêtes
IntruderAttaques automatisées (bruteforce, fuzzing)
DecoderEncodage / décodage de données
ComparerComparaison de réponses
ScannerScan automatique de vulnérabilités (Pro)
LoggerJournal de toutes les requêtes

Configuration du Proxy

Mise en Place

Pour intercepter le trafic, Burp Suite agit comme un proxy entre le navigateur et le serveur cible. Le navigateur doit être configuré pour envoyer ses requêtes via Burp.

proxy-config.txttext
# Configuration par défaut du proxy Burp
Adresse : 127.0.0.1
Port    : 8080
 
# Configuration navigateur (Firefox recommandé)
 
Paramètres Réseau Proxy manuel :
HTTP Proxy : 127.0.0.1 Port : 8080
HTTPS Proxy : 127.0.0.1 Port : 8080
 
# Installation du certificat CA Burp
 
1. Naviguer vers http://burpsuite
2. Télécharger le certificat CA
3. Importer dans : Paramètres Certificats Autorités
 

Interception des Requêtes

Lorsque l'interception est activée, chaque requête HTTP est capturée et peut être modifiée avant d'être transmise au serveur.

intercept-workflow.txttext
 
# Actions disponibles sur une requête interceptée
 
Forward Transmettre la requête au serveur
Drop Bloquer la requête
Send to Envoyer vers Repeater / Intruder / Decoder
Action Options avancées (match/replace, etc.)
 
# Filtres d'interception utiles
 
- Filtrer par domaine cible uniquement
- Exclure les fichiers statiques (images, CSS, JS)
- Intercepter uniquement les requêtes avec paramètres
 

Repeater — Rejeu Manuel

Le Repeater est l'outil le plus utilisé pour tester manuellement des vulnérabilités. Il permet de modifier et renvoyer une requête autant de fois que nécessaire, tout en observant la réponse du serveur en temps réel.

Workflow Type

repeater-workflow.txttext
 
# 1. Intercepter une requête intéressante dans le Proxy
 
# 2. Clic droit → "Send to Repeater" (Ctrl+R)
 
# 3. Modifier les paramètres dans l'onglet Repeater
 
# Exemples de tests manuels dans Repeater :
 
# Test d'injection SQL
 
POST /login HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
 
username=admin' OR 1=1--&password=test
 
# Test de XSS réfléchi
 
GET /search?q=<script>alert(1)</script> HTTP/1.1
Host: target.com
 
# Test de manipulation de headers
 
GET /admin HTTP/1.1
Host: target.com
X-Forwarded-For: 127.0.0.1
X-Original-URL: /admin
 

Intruder — Attaques Automatisées

Le module Intruder permet d'automatiser l'envoi de requêtes avec des payloads variables. Il est particulièrement utile pour le bruteforce, le fuzzing de paramètres et l'énumération.

Types d'Attaques

TypePositionsComportement
Sniper1+ positionsUn seul payload injecté dans chaque position, une à la fois
Battering Ram1+ positionsLe même payload injecté simultanément dans toutes les positions
Pitchfork2+ positionsPayloads synchronisés en parallèle (liste 1 → pos 1, liste 2 → pos 2)
Cluster Bomb2+ positionsToutes les combinaisons possibles entre les listes de payloads

Configuration d'une Attaque

intruder-setup.txttext
 
# 1. Envoyer une requête au Intruder (Ctrl+I)
 
# 2. Onglet "Positions" : définir les points d'injection avec §
 
POST /login HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
 
username=§admin§&password=§password§
 
# 3. Onglet "Payloads" : configurer les listes
 
# Payload Set 1 (usernames) :
 
admin
administrator
root
user
test
 
# Payload Set 2 (passwords) :
 
password
123456
admin
root
letmein
 

Exemple : Bruteforce d'Authentification

intruder-bruteforce.txttext
 
# Type d'attaque : Cluster Bomb
 
# Position 1 : username (wordlist: usernames.txt)
 
# Position 2 : password (wordlist: rockyou.txt)
 
# Filtres de résultats utiles :
 
- Trier par Status Code (200 vs 302)
- Trier par taille de réponse (Length)
- Grep Match : chercher "Welcome" ou "Dashboard"
- Grep Extract : extraire le message d'erreur
 
# Intruder → Options → Grep Match
 
Ajouter : "Login successful"
Ajouter : "Welcome"
Ajouter : "Invalid credentials"
 

Exemple : Énumération d'Utilisateurs

intruder-enum.txttext
 
# Type d'attaque : Sniper
 
# Position : username uniquement
 
POST /login HTTP/1.1
Host: target.com
 
username=§test§&password=invalidpassword
 
# Analyser les différences de réponse :
 
# - "User not found" → utilisateur inexistant
 
# - "Invalid password" → utilisateur EXISTE
 
# - Différence de temps de réponse
 
# - Différence de taille de réponse
 

Decoder — Encodage et Décodage

Le Decoder permet de transformer des données entre différents formats d'encodage. C'est un outil essentiel pour comprendre et manipuler les données échangées.

Formats Supportés

FormatExemple
Base64YWRtaW4=admin
URL Encoding%3Cscript%3E<script>
HTML Encoding&lt;script&gt;<script>
Hex61646d696eadmin
ASCII HexConversion ASCII ↔ Hexadécimal
HashMD5, SHA-1, SHA-256, SHA-512
decoder-examples.txttext
 
# Décoder une valeur Base64
 
Input: YWRtaW46cGFzc3dvcmQ=
Decode as: Base64
Output: admin:password
 
# Décoder un URL encoding
 
Input: %27+OR+1%3D1+--
Decode as: URL
Output: ' OR 1=1 --
 
# Encodage en chaîne
 
Input: <script>alert(1)</script>
 
1. Encode as URL → %3Cscript%3Ealert(1)%3C/script%3E
2. Encode as Base64 → JTNDc2NyaXB0JTNFYWxlcnQoMSklM0Mvc2NyaXB0JTNF
 
# Hashing
 
Input: password123
Hash: MD5 → 482c811da5d5b4bc6d497ffa98491e38
Hash: SHA256 → ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f
 

Techniques Avancées

Match and Replace

Automatiser la modification de requêtes/réponses sans interception manuelle :

match-replace.txttext
 
# Proxy → Options → Match and Replace
 
# Supprimer les headers de sécurité (pour tester)
 
Type: Response header
Match: X-Frame-Options:.\*
Replace: (vide)
 
# Modifier le User-Agent
 
Type: Request header
Match: User-Agent:.\*
Replace: User-Agent: Mozilla/5.0 (Custom Pentest Agent)
 
# Ajouter un header personnalisé
 
Type: Request header
Match: ^Host:
Replace: Host:
 
- X-Custom-Header: bypass
 

Comparer — Différenciation de Réponses

Le module Comparer permet de mettre côte à côte deux requêtes ou réponses pour identifier des différences subtiles. C'est particulièrement utile pour :

  • Détecter des réponses différentes selon les rôles utilisateurs
  • Identifier les changements après modification d'un paramètre
  • Comparer les comportements entre utilisateurs authentifié et anonyme
Architecture d'Interception Burp Suite
Live
 
[Browser] [Burp Proxy :8080] [Target Server]

 ── HTTP Request ───────>
 (Intercept / Modify) │
 ── Forward Request ────────>

 <── HTTP Response ───────────
 (Log / Modify) │
 <── HTTP Response ───────

 [Repeater] [Intruder] [Decoder]
 

Résumé

Burp Suite est l'outil central de tout pentest web. La maîtrise du Repeater pour les tests manuels et de l'Intruder pour les attaques automatisées est indispensable. Le workflow type consiste à intercepter, analyser, modifier et rejouer les requêtes jusqu'à identifier une vulnérabilité exploitable. À utiliser uniquement dans un cadre légal et autorisé.