Comparer deux cartes de site dans Burp Suite

Beginner
Pratiquer maintenant

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 :

  1. Démarrer une application web locale simple avec deux rôles d'utilisateur : un utilisateur standard et un administrateur.
  2. Utiliser le navigateur intégré de Burp Suite pour explorer l'application en tant qu'utilisateur à privilèges faibles.
  3. 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.
  4. 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.
  5. Compléter la comparaison et analyser les résultats pour identifier le contenu et les points d'accès accessibles uniquement à l'administrateur.

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é.

  1. Allez dans l'onglet Proxy, puis dans le sous-onglet Intercept.
  2. 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.

  1. Dans la barre d'adresse du nouveau navigateur, accédez à http://127.0.0.1:5000.
  2. Vous verrez une page de connexion. Entrez user pour le nom d'utilisateur et password pour le mot de passe.
  3. Cliquez sur le bouton Login.
  4. 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.

  1. Dans la fenêtre Burp Suite, assurez-vous d'être dans l'onglet Target -> Site map.
  2. 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.
  3. Faites un clic droit sur l'hôte http://127.0.0.1:5000. Cela ouvrira un menu contextuel avec de nombreuses options.
  4. Dans le menu contextuel, naviguez vers Engagement tools puis cliquez sur Compare 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.

  1. Dans la zone de configuration "Site map 1", vous verrez plusieurs options pour charger la carte.
  2. 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.
  3. 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.

  1. Retournez à la fenêtre du navigateur Chromium intégré à Burp.
  2. Naviguez à nouveau vers la page de connexion à l'adresse http://127.0.0.1:5000. Cela vous déconnectera effectivement du compte 'user'.
  3. Sur la page de connexion, entrez admin pour le nom d'utilisateur et adminpassword pour le mot de passe.
  4. Cliquez sur le bouton Login.
  5. 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.
  6. 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.

  1. Retournez à la fenêtre Burp Suite, où l'assistant "Compare site maps" devrait toujours être ouvert.
  2. Concentrez-vous maintenant sur la zone de configuration "Site map 2".
  3. 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.
  4. Cliquez sur le bouton OK pour 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.