
Extension de détection automatique du respect des autorisations pour Burp Suite écrite en Jython par Barak Tawily afin de faciliter le travail des professionnels de la sécurité des applications et leur permettre d'effectuer des tests d'autorisation automatiques.
Autorize est une extension open source de détection automatique du respect des autorisations et de l'authentification pour Burp Suite.
Elle est conçue pour aider les ingénieurs en sécurité applicative et les testeurs d'intrusion à identifier les contournements d'autorisation et les faiblesses d'authentification dans les applications web — à grande échelle et avec un effort manuel minimal.
Autorize surveille passivement le trafic généré par un utilisateur à hauts privilèges, rejoue automatiquement les requêtes en utilisant des contextes à faibles privilèges ou non authentifiés, et analyse les réponses du serveur pour déterminer si les contrôles d'accès sont correctement appliqués.
L'extension est écrite en Jython par Barak Tawily, chercheur et praticien en sécurité applicative.

Autorize est particulièrement efficace lors des tests authentifiés, là où les outils de crawling et de scanning traditionnels montrent leurs limites.
Téléchargez Burp Suite
https://portswigger.net/burp/download.html
Téléchargez Jython Standalone
https://www.jython.org/download.html
Configurez Jython dans Burp
Installez Autorize
git clone https://github.com/Quitten/Autorize.git
Autorize.pyVérifiez l'installation
Ouvrez l'onglet Autorize après l'installation.
Accédez à Autorize → Configuration.
Insérez un en-tête d'autorisation d'utilisateur à faibles privilèges :
Remarque
Les en-têtes définis ici seront remplacés s'ils sont déjà présents ou ajoutés s'ils sont absents.
Paramètres optionnels :
Cliquez sur “Intercept is off” pour démarrer l'interception.
Configurez votre navigateur pour faire passer le trafic via le proxy Burp.
Naviguez dans l'application en tant qu'utilisateur à hauts privilèges.
Observez les résultats dans le tableau Autorize.
Sélectionnez une entrée pour inspecter :
Autorize attribue l'un des statuts suivants à chaque point de terminaison testé :
L'autorisation ou l'authentification n'a pas été appliquée.
Les contrôles d'accès ont été correctement appliqués.
Autorize n'a pas pu déterminer de manière fiable l'application et nécessite une configuration manuelle des empreintes.
Lorsque l'application ne peut pas être déterminée automatiquement, vous pouvez configurer des détecteurs d'application.
Il existe deux catégories de détecteurs :
Si une requête modifiée renvoie une réponse contenant :
You are not authorized to perform this action
Ajoutez cette chaîne (ou une regex) comme empreinte dans le détecteur d'application. Autorize reconnaîtra alors automatiquement l'application des autorisations pour des réponses similaires.
Les filtres d'interception contrôlent quelles requêtes sont analysées par Autorize, ce qui permet de réduire le bruit et d'améliorer les performances.
Autorize inclut des filtres par défaut pour exclure les ressources statiques telles que les images et les scripts.
Exemple de configuration :

Autorize prend en charge plusieurs utilisateurs à faibles privilèges simultanément, vous permettant de comparer le comportement d'autorisation entre différents rôles ou sessions.
Chaque utilisateur configuré dispose d'une visionneuse requête/réponse dédiée sur le côté droit du tableau. Lorsque vous sélectionnez une ligne, toutes les visionneuses utilisateur visibles se mettent à jour automatiquement avec leurs données respectives. Cela signifie que vous pouvez visualiser les réponses de l'utilisateur 1 et de l'utilisateur 2 côte à côte pour repérer rapidement les différences dans l'application des autorisations.
Cliquer sur les cellules d'une colonne utilisateur (par ex., 'User 1 Modif. Len' ou 'User 1 Authz. Status') agrandira la visionneuse de cet utilisateur en plein écran pour une inspection ciblée. Cliquer sur la colonne URL restaure toutes les visionneuses visibles pour la comparaison.
L'onglet 'Request/Response Viewers' inclut un bouton icône d'œil dans l'en-tête de l'onglet. Cliquer dessus ouvre un menu contextuel où vous pouvez activer/désactiver les sections de visionneuse affichées :
Cela vous permet de personnaliser le panneau de droite pour n'afficher que les comparaisons qui vous intéressent. Par exemple :
La sélection de visibilité ajuste dynamiquement la disposition du panneau, donnant plus d'espace vertical aux visionneuses restantes.
Les contributions sont les bienvenues.
N'hésitez pas à ouvrir des issues, soumettre des pull requests ou suggérer des améliorations.
Barak Tawily
CTO @ Enso Security
Chercheur en sécurité applicative – https://quitten.github.io/
Ancien consultant en sécurité applicative chez AppSec Labs