
Extension Burp pour tester les problèmes d'autorisation. Répétition automatisée des requêtes et extraction des valeurs de paramètres à la volée.
Cette extension Burp vous aide à trouver des bugs d'autorisation. Naviguez simplement dans l'application web avec un utilisateur hautement privilégié et laissez Auth Analyzer répéter vos requêtes pour tout utilisateur non privilégié défini. Grâce à la possibilité de définir des paramètres, Auth Analyzer peut extraire et remplacer automatiquement les valeurs des paramètres. Ainsi, par exemple, les jetons CSRF ou même des caractéristiques complètes de session peuvent être extraits automatiquement des réponses et remplacés dans les requêtes suivantes. Chaque réponse est analysée et étiquetée en fonction de son statut de contournement.
Il existe d'autres extensions Burp qui font fondamentalement la même chose. Cependant, la force de la fonctionnalité des paramètres et de l'extraction automatique des valeurs est la principale raison de choisir Auth Analyzer. Avec cela, vous n'avez pas besoin de connaître le contenu des données qui doivent être échangées. Vous pouvez facilement définir vos paramètres et cookies, et Auth Analyzer capturera à la volée les valeurs nécessaires. Auth Analyzer n'effectue aucune requête préliminaire. Il fait essentiellement la même chose que votre application web, avec vos rôles/sessions utilisateur définis.
(1) Créez ou clonez une session pour chaque utilisateur que vous souhaitez tester.
(2) Sauvegardez et chargez la configuration de session.
(3) Spécifiez les caractéristiques de la session (en-tête(s) et/ou paramètre(s) à remplacer).
(4) Définissez des filtres si nécessaire.
(5) Démarrez / Arrêtez et mettez en pause Auth Analyzer.
(6) Spécifiez le filtre du tableau.
(7) Naviguez dans l'application web avec un autre utilisateur et suivez les résultats des requêtes répétées.
(8) Exportez les données du tableau en XML ou HTML.
(9) Analysez manuellement les requêtes/réponses originales et répétées.

Si vous disposez des ressources que vous souhaitez tester dans votre sitemap, il est très facile et rapide d'effectuer vos tests d'autorisation. Dans un premier temps, définissez les sessions que vous souhaitez tester. Ensuite, développez simplement votre sitemap, sélectionnez les ressources et répétez les requêtes via le menu contextuel. De plus, vous pouvez définir des options pour savoir quelles requêtes doivent être répétées et lesquelles ne le doivent pas. Ainsi, vous pouvez effectuer des tests d'autorisation d'un site web complexe en quelques secondes.
Auth Analyzer permet de définir des paramètres qui sont remplacés avant que la requête pour la session donnée ne soit répétée. La valeur du paramètre donné peut être définie selon différents besoins.
La valeur du paramètre sera extraite si elle apparaît dans une réponse avec l'une des contraintes suivantes :
Une réponse avec un en-tête Set-Cookie dont le nom de cookie correspond au Nom du champ d'extraction défini.
Une réponse Document HTML contient un champ de saisie dont l'attribut name correspond au Nom du champ d'extraction défini.
Une Réponse JSON contient une clé correspondant au Nom du champ d'extraction.
Par défaut, Auth Analyzer essaie d'extraire automatiquement la valeur du paramètre depuis tous les emplacements. Cependant, en cliquant sur l'icône des paramètres, vous pouvez restreindre l'emplacement d'extraction automatique selon vos besoins.

Le paramètre sera extrait si la réponse contient la Chaîne de début et la Chaîne de fin spécifiées sur une même ligne. La chaîne De-À peut être définie manuellement ou directement via le menu contextuel correspondant. Il suffit de marquer le mot que vous souhaitez extraire dans une réponse et de le définir comme Extraction De-À pour le paramètre souhaité.
Par défaut, Auth Analyzer essaie d'extraire la valeur de l'en-tête et du corps pour la plupart des réponses textuelles. Cependant, en cliquant sur l'icône des paramètres, vous pouvez restreindre l'emplacement d'extraction De-À selon vos besoins.

Une valeur de paramètre statique peut être définie. Cela peut être utilisé par exemple pour des jetons CSRF statiques ou des identifiants de connexion.
Vous serez invité à saisir une valeur si le paramètre défini est présent dans une requête. Cela peut être utilisé, par exemple, pour définir des codes 2FA.
Si une valeur est définie (extraite ou définie par l'utilisateur), elle sera remplacée si le paramètre correspondant est présent dans une requête. Les conditions de remplacement des paramètres sont les suivantes :
Le paramètre sera remplacé s'il est présent à l'un des emplacements suivants :

Dans le chemin (ex : /api/user/99/profile --> si un paramètre nommé user est présent, la valeur 99 sera remplacée)
Paramètre d'URL (ex : email=hans.wurst[a]gmail.com)
Paramètre de cookie (ex : PHPSESSID=mb8rkrcdg8765dt91vpum4u21v)
Paramètre du corps soit Encodé URL soit Données de formulaire multipart
Paramètre JSON (ex : {"email":"hans.wurst[a]gmail.com"})
Par défaut, la valeur du paramètre sera remplacée à chaque emplacement. Cependant, en cliquant sur l'icône des paramètres, vous pouvez restreindre l'emplacement selon vos besoins.
