Chaque application web que vous utilisez aujourd'hui, des portails bancaires aux plateformes de médias sociaux, communique via des requêtes et réponses HTTP. Comprendre comment intercepter, analyser et manipuler ce trafic est fondamental pour les tests de sécurité web. Ce tutoriel Burp Suite vous guide à travers les compétences essentielles que les testeurs d'intrusion et les chasseurs de bugs utilisent quotidiennement pour trouver des vulnérabilités avant que les attaquants ne le fassent.
Burp Suite est devenu la norme de l'industrie pour les tests de sécurité des applications web, et pour une bonne raison. Il se situe entre votre navigateur et les applications cibles, vous permettant de voir exactement quelles données circulent dans les deux sens. À la fin de ce guide, vous saurez comment configurer Burp Suite, intercepter le trafic, modifier les requêtes et utiliser ses outils principaux pour tester les vulnérabilités courantes.
Ce que vous apprendrez:
- Installer et configurer Burp Suite avec votre navigateur
- Intercepter et modifier le trafic HTTP/HTTPS
- Utiliser Repeater pour les tests manuels de vulnérabilités
- Comprendre Intruder pour les attaques automatisées
- Appliquer ces compétences de manière éthique et légale
Qu'est-ce que Burp Suite et pourquoi l'apprendre?
Burp Suite est une plateforme intégrée pour les tests de sécurité des applications web développée par PortSwigger. Pensez-y comme un couteau suisse pour la sécurité web: il combine plusieurs outils dans une seule interface, vous permettant d'intercepter le trafic, de scanner les vulnérabilités et de créer des attaques personnalisées contre les applications web.
La plateforme existe en trois versions. L'édition Community est gratuite et comprend le proxy principal, Repeater, Intruder (avec limitation de débit) et Decoder. L'édition Professional ajoute un scanner de vulnérabilités automatisé, des attaques Intruder plus rapides et des fonctionnalités supplémentaires pour environ 449 $ par an. L'édition Enterprise cible les organisations exécutant des scans automatisés à grande échelle.
Pour l'apprentissage et la plupart des travaux de test manuel, l'édition Community fournit tout ce dont vous avez besoin. Les testeurs professionnels passent généralement à l'édition supérieure pour le scanner et les vitesses Intruder non restreintes lors des engagements clients.
Qui utilise Burp Suite?
- Testeurs d'intrusion: L'utilisent lors des évaluations d'applications web pour trouver et exploiter les vulnérabilités
- Chasseurs de bugs: Comptent dessus pour découvrir des failles de sécurité dans les programmes de sociétés comme Google, Microsoft et des milliers d'autres
- Chercheurs en sécurité: Analysent le comportement des applications et développent des preuves de concept d'exploits
- Développeurs: Testent leurs propres applications pour les problèmes de sécurité avant le déploiement
Si vous voulez trouver des vulnérabilités dans les applications web, Burp Suite est là où vous commencez. Notre cours Web Attacks couvre les classes de vulnérabilités que vous chasserez une fois que vous maîtriserez les outils.
Tutoriel Burp Suite: Installation et configuration de votre environnement
Faire fonctionner Burp Suite nécessite quelques étapes de configuration. Le proxy doit intercepter votre trafic de navigateur, ce qui signifie installer un certificat et configurer les paramètres proxy. Voici le processus de configuration complet.
Télécharger Burp Suite
Si vous exécutez Kali Linux, Burp Suite Community Edition est préinstallé. Lancez-le depuis le menu des applications sous "Web Application Analysis" ou tapez burpsuite dans votre terminal.
Pour Windows ou macOS, téléchargez l'installateur depuis la page de téléchargement officielle de PortSwigger. Exécutez l'installateur et suivez les instructions. Burp Suite nécessite Java, mais l'installateur intègre son propre JRE, vous n'avez donc pas besoin d'installer Java séparément.
Configuration du premier lancement
Lorsque vous ouvrez Burp Suite pour la première fois, vous verrez un écran de sélection de projet. Pour l'édition Community, choisissez "Temporary project" car les projets persistants nécessitent l'édition Professional. Cliquez sur "Next", puis sélectionnez "Use Burp defaults" pour les options de configuration. Cliquez sur "Start Burp" pour lancer l'interface principale.
Configurer votre navigateur avec FoxyProxy
Burp Suite agit comme un serveur proxy auquel votre navigateur se connecte. Le moyen le plus simple de gérer cela est avec l'extension de navigateur FoxyProxy, qui vous permet de basculer les paramètres proxy en un clic.
- Installez FoxyProxy pour Firefox ou Chrome depuis le magasin d'extensions de votre navigateur
- Cliquez sur l'icône FoxyProxy et sélectionnez "Options"
- Cliquez sur "Add" pour créer une nouvelle configuration proxy
- Définissez l'IP du proxy sur
127.0.0.1et le port sur8080 - Nommez-le "Burp Suite" et enregistrez
- Cliquez sur l'icône FoxyProxy et sélectionnez votre nouveau profil Burp Suite pour l'activer
Installer le certificat CA de Burp
Les sites web modernes utilisent le cryptage HTTPS. Pour que Burp Suite intercepte ce trafic, votre navigateur doit faire confiance à l'autorité de certification de Burp. Sans cette étape, vous verrez des erreurs de certificat sur chaque site HTTPS.
- Avec Burp en cours d'exécution et FoxyProxy activé, naviguez vers
http://burpsuitedans votre navigateur - Cliquez sur "CA Certificate" en haut à droite pour télécharger le certificat
- Dans Firefox: Allez dans Paramètres, recherchez "Certificates", cliquez sur "View Certificates", sélectionnez l'onglet Authorities et importez le certificat téléchargé. Cochez "Trust this CA to identify websites."
- Dans Chrome: Allez dans Paramètres, recherchez "Certificates", cliquez sur "Manage certificates", allez dans l'onglet Authorities et importez le certificat
Note de sécurité: N'installez le certificat Burp que dans un navigateur que vous utilisez exclusivement pour les tests de sécurité. Utiliser votre navigateur principal avec le certificat Burp installé pourrait exposer votre trafic si quelqu'un d'autre accède à votre installation Burp.
Problèmes de configuration courants
Si vous ne pouvez pas vous connecter aux sites web après avoir activé le proxy, vérifiez que Burp Suite est effectivement en cours d'exécution et que l'onglet Proxy affiche "Intercept is on" ou "Intercept is off" (les deux états autorisent le trafic, juste avec des comportements différents). Vérifiez que FoxyProxy est configuré sur votre profil Burp, pas sur "Direct" ou un autre proxy.
Les erreurs de certificat après l'installation du certificat CA signifient généralement que le certificat n'a pas été importé dans le bon magasin. Dans Firefox, assurez-vous de l'avoir importé sous "Authorities", pas "Your Certificates". Redémarrez votre navigateur après l'importation.
Comprendre l'interface de Burp Suite
Burp Suite organise ses outils en onglets en haut de la fenêtre. Chaque onglet fournit des fonctionnalités différentes, et comprendre la disposition vous aide à travailler efficacement.
Dashboard
Le Dashboard affiche les tâches en cours et l'activité des problèmes. Dans l'édition Professional, cela affiche la progression et les résultats du scan de vulnérabilités. Pour les utilisateurs de l'édition Community, il affiche principalement les journaux d'événements et l'état des tâches.
Target
L'onglet Target maintient une carte du site de toutes les URL que vous avez visitées ou que Burp a découvertes. Il organise le contenu hiérarchiquement par hôte, montrant les répertoires, fichiers et leurs réponses HTTP. Utilisez le sous-onglet Scope pour définir quels hôtes vous testez, ce qui garde votre travail concentré et évite de tester accidentellement des systèmes hors périmètre.
Proxy
C'est ici que se déroule la majeure partie de votre travail. L'onglet Proxy contient l'historique HTTP montrant chaque requête que votre navigateur fait, l'historique WebSocket pour les communications en temps réel, et la fonctionnalité d'interception pour capturer les requêtes avant qu'elles n'atteignent le serveur.
Onglets des outils clés
- Repeater: Modifiez et renvoyez manuellement des requêtes individuelles, essentiel pour tester des paramètres spécifiques
- Intruder: Automatisez les attaques en insérant des charges utiles dans les paramètres de requête, utile pour le fuzzing et la force brute
- Decoder: Encodez et décodez des données dans divers formats comme Base64, encodage URL et entités HTML
- Comparer: Différenciez deux réponses pour repérer les différences subtiles qui indiquent des vulnérabilités
Raccourcis clavier: Appuyez sur Ctrl+Maj+R pour envoyer une requête à Repeater, Ctrl+Maj+I pour Intruder. Ces raccourcis permettent de gagner beaucoup de temps lors du test de plusieurs paramètres. Visualisez tous les raccourcis sous Help dans la barre de menu.
Comment intercepter et modifier le trafic HTTP
L'interception du trafic est la compétence de base dans les tests de sécurité web. Elle vous permet de voir exactement ce que votre navigateur envoie et ce que le serveur renvoie, puis de modifier l'un ou l'autre côté pour tester comment l'application gère les entrées inattendues.
Comprendre les requêtes et réponses HTTP
Avant de plonger dans l'interception, comprenez ce que vous regardez. Une requête HTTP contient une méthode (GET, POST, PUT, DELETE), un chemin, des en-têtes avec des métadonnées comme les cookies et les types de contenu, et éventuellement un corps avec des données de formulaire ou du JSON. La réponse comprend un code de statut (200 OK, 404 Not Found, 500 Server Error), des en-têtes et le corps contenant du HTML, du JSON ou d'autres contenus.
Activer et utiliser l'interception
Naviguez vers l'onglet Proxy et cliquez sur "Intercept is off" pour le basculer en position activée. Maintenant, lorsque vous naviguez sur un site web avec FoxyProxy activé, chaque requête se met en pause dans Burp Suite avant d'atteindre le serveur. Vous verrez la requête HTTP brute dans la fenêtre d'interception.
À partir de là, vous avez plusieurs options:
- Forward: Envoyez la requête au serveur telle quelle ou après vos modifications
- Drop: Abandonnez entièrement la requête, l'empêchant d'atteindre le serveur
- Action: Envoyez la requête à d'autres outils comme Repeater ou Intruder
Modifier les requêtes
Avec une requête interceptée, vous pouvez modifier n'importe quelle partie directement dans la fenêtre. Changez les valeurs des paramètres, modifiez les en-têtes ou altérez le corps de la requête. Cliquez sur Forward pour envoyer votre requête modifiée au serveur.
Par exemple, si une requête inclut quantity=1 dans un panier d'achat, vous pourriez le changer en quantity=-1 ou quantity=999999 pour tester comment l'application gère les valeurs inattendues. Ce type de test révèle des failles de validation d'entrée que les attaquants exploitent.
Pratiquez ces techniques en toute sécurité dans notre XSS Playground où vous pouvez expérimenter sans risque.
Travailler avec l'historique HTTP
Chaque requête passant par le proxy apparaît dans l'historique HTTP, que l'interception soit activée ou non. Ce journal devient votre référence pendant les tests. Faites un clic droit sur n'importe quelle requête pour l'envoyer à Repeater, Intruder ou d'autres outils. Utilisez la barre de filtrage pour afficher uniquement les requêtes vers des hôtes spécifiques ou contenant certains paramètres.
Utiliser Burp Repeater pour les tests manuels
Repeater est l'endroit où vous passez la plupart de votre temps lors des tests manuels. Il vous permet de modifier une requête, de l'envoyer, de visualiser la réponse, puis de peaufiner et de répéter. Ce cycle d'hypothèse, test et observation est la façon dont vous découvrez les vulnérabilités.
Envoyer des requêtes à Repeater
Trouvez une requête intéressante dans votre historique HTTP ou votre fenêtre d'interception. Faites un clic droit et sélectionnez "Send to Repeater" ou appuyez sur Ctrl+Maj+R. Basculez vers l'onglet Repeater pour voir votre requête prête à être modifiée.
Le flux de travail Repeater
L'interface Repeater affiche votre requête à gauche et la réponse du serveur à droite. Modifiez la requête, cliquez sur "Send" et analysez ce qui revient. Chaque modification crée un onglet numéroté, vous permettant de comparer les réponses à travers plusieurs tests.
Commencez par comprendre le comportement normal. Envoyez la requête originale sans modification et notez la réponse. Ensuite, modifiez systématiquement les paramètres pour tester les vulnérabilités:
- Ajoutez un guillemet simple pour tester l'injection SQL:
id=1' - Insérez des balises script pour tester le XSS:
name=<script>alert(1)</script> - Changez les ID numériques pour accéder aux données d'autres utilisateurs:
user_id=2au lieu deuser_id=1 - Supprimez ou modifiez les jetons d'authentification pour tester les contrôles d'accès
Lire les réponses pour des indices
Les vulnérabilités se révèlent souvent par des différences de réponse. Une injection SQL pourrait provoquer un message d'erreur de base de données. Une vulnérabilité XSS pourrait refléter votre entrée dans le HTML. Une faille de contrôle d'accès pourrait renvoyer des données que vous ne devriez pas voir.
Comparez les longueurs de réponse, les codes de statut et le contenu. Une différence significative par rapport à la ligne de base indique souvent un comportement intéressant qui mérite d'être approfondi.
Essayez de tester les vulnérabilités d'injection SQL dans notre laboratoire d'injection SQL en utilisant les techniques que vous venez d'apprendre.
Conseil de pro: Utilisez Ctrl+U dans Repeater pour encoder en URL le texte sélectionné. Ceci est essentiel lorsque votre charge utile contient des caractères spéciaux qui briseraient le format de la requête.
Introduction à Burp Intruder
Tandis que Repeater gère les tests manuels, Intruder automatise les attaques en envoyant de nombreuses variations d'une requête avec différentes charges utiles. Il excelle dans des tâches comme forcer des pages de connexion, fuzzer des paramètres pour les vulnérabilités et énumérer des valeurs valides.
Comment fonctionne Intruder
Envoyez une requête à Intruder (clic droit, "Send to Intruder" ou Ctrl+Maj+I). Dans l'onglet Positions, Burp Suite met en évidence les points d'injection potentiels avec des marqueurs de section. Vous définissez quelles parties de la requête doivent recevoir des charges utiles et quelles charges utiles utiliser.
Types d'attaque expliqués
- Sniper: Place chaque charge utile dans une position à la fois, parcourant toutes les positions. Bon pour tester des paramètres individuels.
- Battering Ram: Place la même charge utile dans toutes les positions simultanément. Utile lorsque la même valeur doit apparaître à plusieurs endroits.
- Pitchfork: Utilise plusieurs ensembles de charges utiles en parallèle, un par position. Position 1 reçoit l'ensemble de charges utiles 1, position 2 reçoit l'ensemble de charges utiles 2, en avançant ensemble.
- Cluster Bomb: Teste toutes les combinaisons de charges utiles dans toutes les positions. Position 1 reçoit chaque charge utile de l'ensemble 1 combinée avec chaque charge utile de l'ensemble 2 pour la position 2.
Construire des listes de charges utiles
Basculez vers l'onglet Payloads pour configurer quelles valeurs Intruder va injecter. Vous pouvez entrer des charges utiles manuellement, les charger depuis un fichier ou utiliser des générateurs intégrés pour des motifs comme des nombres ou des variations de caractères.
Pour les attaques par force brute, vous pourriez charger une liste de mots de passe courants. Pour le fuzzing, utilisez des caractères spéciaux et des chaînes d'injection. PortSwigger fournit des listes de charges utiles, et des ressources communautaires comme SecLists offrent des collections étendues pour différents scénarios d'attaque.
Analyser les résultats
Après le démarrage d'une attaque, Intruder affiche les résultats dans un tableau montrant chaque requête, sa charge utile, son code de statut, sa longueur de réponse et son timing. Triez par longueur ou code de statut pour repérer les anomalies. Une réponse significativement plus longue ou plus courte que les autres indique souvent une injection réussie ou une erreur qui mérite investigation.
Testez vos compétences Intruder contre notre laboratoire de contournement d'authentification où vous pouvez pratiquer les attaques par identifiants en toute sécurité.
Limitation de l'édition Community: La version gratuite limite les attaques Intruder à environ une requête par seconde. L'édition Professional supprime cette limite, rendant Intruder pratique pour les engagements sensibles au temps. Pour l'apprentissage, la vitesse limitée fonctionne bien.
Considérations légales et éthiques
Avertissement critique: Utiliser Burp Suite contre des systèmes sans autorisation explicite est illégal. L'accès non autorisé aux systèmes informatiques est une infraction criminelle dans pratiquement toutes les juridictions, entraînant des peines y compris des amendes et l'emprisonnement. "Je testais juste" n'est pas une défense légale.
Les techniques de ce tutoriel sont puissantes. Elles peuvent trouver des vulnérabilités qui protègent des millions d'utilisateurs, ou elles peuvent vous mener en prison si elles sont mal utilisées. La différence est l'autorisation.
Quand vous pouvez tester légalement
- Systèmes que vous possédez: Vos propres sites web, applications et infrastructure
- Engagements autorisés: Tests d'intrusion avec des accords de périmètre écrits
- Programmes de bug bounty: Entreprises qui invitent explicitement les tests de sécurité, en suivant leurs règles
- Laboratoires de pratique: Applications intentionnellement vulnérables comme DVWA, WebGoat ou les laboratoires HackerDNA
Directives pour les bug bounty
Si vous testez dans le cadre de programmes de bug bounty, lisez attentivement les règles. La plupart des programmes spécifient quels domaines sont dans le périmètre, quels types de vulnérabilités ils acceptent et quelles méthodes de test sont interdites. Violer les règles du programme peut vous faire bannir ou signaler, même si vous trouvez des vulnérabilités valides.
Documentez tout. Capturez vos découvertes, notez les horodatages et conservez des enregistrements de votre méthodologie de test. Cela vous protège si des questions se posent concernant vos activités.
Apprenez-en plus sur la construction d'une pratique de test de sécurité éthique dans notre cours de hacking éthique.
Vos prochaines étapes
Vous avez maintenant les bases pour utiliser Burp Suite pour les tests de sécurité web. Vous pouvez configurer le proxy, intercepter le trafic, tester manuellement avec Repeater et automatiser les attaques avec Intruder. Ces compétences constituent le flux de travail de base que les testeurs d'intrusion professionnels utilisent quotidiennement.
La prochaine étape est la pratique. Installez des applications intentionnellement vulnérables comme DVWA ou WebGoat sur une machine locale, ou utilisez des laboratoires basés sur le cloud qui fournissent des cibles légales. Plus vous interceptez et modifiez de requêtes, plus vite vous développerez une intuition pour repérer les vulnérabilités.
Pour un apprentissage continu, l'Académie de sécurité web PortSwigger propose des laboratoires gratuits couvrant chaque classe majeure de vulnérabilités, intégrés directement avec Burp Suite.
Prêt à pratiquer ce que vous avez appris? Les laboratoires HackerDNA fournissent des défis pratiques couvrant l'injection SQL, le XSS, les failles d'authentification et plus encore. Chaque laboratoire est une cible légale où vous pouvez appliquer tout ce qui provient de ce tutoriel Burp Suite.