Introduction
Dans ce laboratoire, vous apprendrez à utiliser l'une des fonctionnalités puissantes de Burp Suite : "Compare site maps". Cette fonctionnalité est essentielle pour les tests de sécurité des applications web, en particulier pour identifier les vulnérabilités d'autorisation. En comparant la structure et le contenu du site accessibles aux utilisateurs ayant des niveaux de privilèges différents, vous pouvez rapidement repérer les points d'accès (endpoints) ou les données qui sont incorrectement exposés.
Vous effectuerez les actions suivantes :
- Démarrer une application web locale simple avec deux rôles d'utilisateur : un utilisateur standard et un administrateur.
- Utiliser le navigateur intégré de Burp Suite pour explorer l'application en tant qu'utilisateur à privilèges faibles.
- Lancer le processus de comparaison des cartes de site (site maps), en enregistrant la vue de l'utilisateur à privilèges faibles comme première carte.
- Se connecter en tant qu'utilisateur à privilèges élevés et explorer à nouveau l'application pour peupler la carte de site avec de nouvelles fonctions administratives.
- Compléter la comparaison et analyser les résultats pour identifier le contenu et les points d'accès accessibles uniquement à l'administrateur.
Naviguer dans une application en tant qu'utilisateur à privilèges faibles
Dans cette étape, vous allez démarrer Burp Suite, configurer son navigateur et naviguer dans l'application cible en tant qu'utilisateur standard à privilèges faibles. Cela remplira la carte de site (site map) de Burp avec tous les points d'accès (endpoints) et ressources accessibles à cet utilisateur.
Tout d'abord, ouvrez Burp Suite. Vous pouvez le trouver dans le menu des applications, généralement sous Applications -> Other -> Burp Suite Community Edition. Lorsque vous y êtes invité, sélectionnez un projet temporaire et cliquez sur Next, puis sur Start Burp.
Une fois Burp Suite lancé, vous devez utiliser son navigateur intégré pour vous assurer que tout le trafic est correctement proxifié.
- Allez dans l'onglet
Proxy, puis dans le sous-ongletIntercept. - Cliquez sur le bouton
Open Browser. Une nouvelle fenêtre de navigateur Chromium s'ouvrira.
Maintenant, utilisez ce navigateur pour interagir avec l'application web.
- Dans la barre d'adresse du nouveau navigateur, accédez à
http://127.0.0.1:5000. - Vous verrez une page de connexion. Entrez
userpour le nom d'utilisateur etpasswordpour le mot de passe. - Cliquez sur le bouton
Login. - Vous serez redirigé vers le tableau de bord utilisateur. Cliquez sur les liens s'il y en a, mais pour cette application simple, il suffit de visualiser le tableau de bord.
Maintenant, retournez à la fenêtre principale de Burp Suite et naviguez vers l'onglet Target -> Site map. Vous verrez la structure de l'application être cartographiée en fonction de votre navigation.
Dans Target > Site map, sélectionner l'hôte et 'Compare site maps'
Dans cette étape, vous allez lancer le processus de comparaison des cartes de site (site maps). Vous avez déjà rempli la carte de site avec la perspective d'un utilisateur à privilèges faibles. Maintenant, vous allez indiquer à Burp Suite que vous souhaitez utiliser cette carte actuelle comme premier point de comparaison.
- Dans la fenêtre Burp Suite, assurez-vous d'être dans l'onglet
Target->Site map. - Dans le volet de gauche, vous verrez une vue arborescente des sites que vous avez visités. Trouvez et sélectionnez l'hôte de notre application, qui est
http://127.0.0.1:5000. - Faites un clic droit sur l'hôte
http://127.0.0.1:5000. Cela ouvrira un menu contextuel avec de nombreuses options. - Dans le menu contextuel, naviguez vers
Engagement toolspuis cliquez surCompare site maps.
Cette action ouvrira l'assistant "Compare site maps", qui vous guidera dans la configuration de la comparaison.
(Description de l'image : Une capture d'écran montrant le menu contextuel du clic droit dans la carte de site de Burp Suite, avec le curseur surlignant l'option 'Compare site maps' sous 'Engagement tools'.)
Dans l'assistant, sélectionner 'Use current site map' pour Map 1
Dans cette étape, vous allez configurer la première des deux cartes de site (site maps) pour la comparaison. L'assistant que vous avez ouvert à l'étape précédente vous permet de définir la source pour les deux cartes.
L'assistant "Compare site maps" est maintenant ouvert. Il comporte deux sections principales, une pour "Site map 1" et une pour "Site map 2". Vous allez configurer la première carte maintenant et la seconde plus tard.
- Dans la zone de configuration "Site map 1", vous verrez plusieurs options pour charger la carte.
- Sélectionnez le bouton radio intitulé
Use current site map. Cela indique à Burp de prendre un instantané de la carte de site telle qu'elle existe actuellement (reflétant la session de l'utilisateur à privilèges faibles) et de l'utiliser comme référence pour la comparaison. - Ne cliquez pas encore sur
OK. L'assistant doit être configuré pour les deux cartes. Pour l'instant, vous avez défini la première carte. Vous laisserez cet assistant ouvert pendant que vous effectuez les actions suivantes.
Vous avez maintenant défini avec succès la première carte de site pour la comparaison. L'assistant attendra que vous définissiez la seconde carte.
Se connecter en tant qu'utilisateur à privilèges élevés et redemander la carte de site
Dans cette étape, vous allez passer à un compte utilisateur à privilèges élevés et parcourir à nouveau l'application. Cela ajoutera de nouveaux points d'accès réservés aux administrateurs à la carte de site de Burp, ce qui est exactement ce que nous voulons détecter lors de la comparaison.
- Retournez à la fenêtre du navigateur Chromium intégré à Burp.
- Naviguez à nouveau vers la page de connexion à l'adresse
http://127.0.0.1:5000. Cela vous déconnectera effectivement du compte 'user'. - Sur la page de connexion, entrez
adminpour le nom d'utilisateur etadminpasswordpour le mot de passe. - Cliquez sur le bouton
Login. - Vous serez redirigé vers le tableau de bord, qui affiche maintenant un message de bienvenue pour l'utilisateur 'admin' et inclut un nouveau lien :
Go to Admin Panel. - Cliquez sur le lien
Go to Admin Panel. Cela vous mènera à la page/admin, qui n'était pas accessible à l'utilisateur standard.
En effectuant ces actions, vous avez fait en sorte que Burp Suite enregistre des requêtes vers de nouveaux points d'accès (comme /admin) et voie des réponses différentes pour les points d'accès existants (comme /dashboard). La carte de site active dans Burp est maintenant mise à jour avec ces nouvelles informations.
Sélectionner 'Use current site map' pour Map 2 et visualiser les différences
Dans cette dernière étape, vous allez finaliser la configuration de la comparaison et analyser les résultats pour trouver les différences entre les sessions à privilèges faibles et à privilèges élevés.
- Retournez à la fenêtre Burp Suite, où l'assistant "Compare site maps" devrait toujours être ouvert.
- Concentrez-vous maintenant sur la zone de configuration "Site map 2".
- Tout comme vous l'avez fait pour la première carte, sélectionnez le bouton radio intitulé
Use current site map. Cette fois, la carte "actuelle" contient toutes les requêtes des sessions à privilèges faibles et à privilèges élevés. - Cliquez sur le bouton
OKpour lancer la comparaison.
Une nouvelle fenêtre "Site map comparison" apparaîtra, affichant les résultats. Cette fenêtre comporte trois panneaux principaux montrant :
- Items only in map 1 : Les points d'accès qui existaient dans la première session mais pas dans la seconde.
- Items only in map 2 : Les points d'accès qui n'ont été découverts que dans la seconde session. C'est ici que vous trouverez les problèmes d'autorisation.
- Items with different responses : Les points d'accès auxquels les deux utilisateurs pouvaient accéder, mais qui ont renvoyé un contenu différent.
Examinez la liste "Items only in map 2". Vous devriez y trouver le point d'accès /admin. Cela vous indique immédiatement que la page /admin n'est accessible ou découvrable que par l'utilisateur à privilèges élevés.
Cliquez sur l'entrée /dashboard dans la liste "Items with different responses". En bas, vous pouvez voir la requête et la réponse pour chaque carte. Utilisez le bouton Diff pour voir une comparaison côte à côte, qui mettra en évidence le lien supplémentaire "Go to Admin Panel" disponible pour l'administrateur.
Résumé
Dans ce laboratoire, vous avez utilisé avec succès la fonctionnalité "Compare site maps" de Burp Suite pour analyser les contrôles d'accès d'une application. Vous avez appris à capturer systématiquement l'état d'une application du point de vue de deux utilisateurs différents, puis à les comparer pour identifier automatiquement les différences.
Plus précisément, vous avez découvert un point d'accès administratif (/admin) qui n'était pas visible pour un utilisateur standard, un exemple classique de vulnérabilité d'autorisation que cette technique aide à découvrir. Cette méthode est un élément fondamental d'une évaluation approfondie de la sécurité des applications web, vous permettant de cartographier efficacement la surface d'attaque et de trouver des failles de sécurité potentielles.
