
Analysez les documents OpenAPI dans Burp Suite pour automatiser les évaluations de sécurité des API basées sur OpenAPI (approuvé par PortSwigger pour inclusion dans leur BApp Store officiel).
[!MISE À JOUR] Cette extension a été mise à jour pour utiliser la dernière API Java Montoya de Burp. L'extension a été entièrement repensée pour améliorer à la fois son
UI/UXet ses performances. Ces changements garantissent que l'extension est moderne et optimisée pour une utilisation.
Burp Suite conçue pour les tests d'API basées sur OpenAPILa spécification
OpenAPI(OAS) définit une interface standard, indépendante du langage de programmation, pour lesAPIREST, permettant aux humains et aux ordinateurs de découvrir et de comprendre les capacités d'un service sans avoir besoin d'accéder au code source, à une documentation supplémentaire ou d'inspecter le trafic réseau. Lorsqu'elle est correctement définie viaOpenAPI, un consommateur peut comprendre et interagir avec le service distant avec un minimum de logique d'implémentation. Comme les descriptions d'interface l'ont fait pour la programmation de bas niveau, la spécificationOpenAPIélimine les incertitudes lors de l'appel d'un service.Les cas d'utilisation des documents de définition d'
APIlisibles par machine incluent, sans s'y limiter : la documentation interactive ; la génération de code pour la documentation, les clients et les serveurs ; et l'automatisation des cas de test. Les documentsOpenAPIdécrivent les services d'uneAPIet sont représentés au formatYAMLouJSON. Ces documents peuvent être produits et servis de manière statique ou générés dynamiquement à partir d'une application.
Réaliser une évaluation de sécurité des API basées sur OpenAPI peut être une tâche fastidieuse car Burp Suite (standard de l'industrie) manque de capacités natives d'analyse OpenAPI. Une solution à cette situation consiste à utiliser des outils tiers (par exemple SOAP-UI) ou à implémenter des scripts personnalisés (souvent par mission) pour gérer l'analyse des documents OpenAPI et intégrer/chaîner les résultats à Burp Suite afin d'utiliser ses capacités de scan de premier ordre.
openapi-parser est un analyseur OpenAPI qui vise à rationaliser l'ensemble du processus en permettant aux professionnels de la sécurité d'utiliser Burp Suite comme un outil autonome pour l'évaluation de la sécurité des API basées sur OpenAPI.
OpenAPI peuvent être analysés à partir d'un fichier fourni ou d'une URL. L'extension peut récupérer les documents OpenAPI directement depuis une URL en utilisant la fonction Envoyer à Swagger Parser dans le menu contextuel Target -> Site map.OpenAPI, anciennement connus sous le nom de Spécification Swagger, entièrement conformes aux spécifications OpenAPI 2.0/3.0 (OAS).Comparer, Intruder, Organizer, Repeater, Scanner, et .Système d'exploitation : Compatible avec les systèmes d'exploitation Linux, macOS et Windows.
Kit de développement Java (JDK) : Version 11 ou ultérieure.
Burp Suite Professional ou Community Edition : Version 2023.11.1.3 ou ultérieure.
[!IMPORTANT] Veuillez noter que l'utilisation d'une version antérieure à
2023.3.2peut entraîner une erreur java.lang.NoSuchMethodError. Il est crucial d'utiliser la version spécifiée ou une version plus récente pour éviter ce problème.
Version 8.5 ou ultérieure (recommandée). Le fichier build.gradle est fourni dans le dépôt du projet.JAVA_HOME pour pointer vers le répertoire d'installation du JDK.Veuillez vous assurer que toutes les exigences système, y compris une version compatible de Burp Suite, sont satisfaites avant de construire et d'exécuter le projet. Notez que les dépendances externes du projet seront automatiquement gérées et installées par Gradle lors du processus de construction. Le respect des exigences permettra d'éviter des problèmes potentiels et de réduire le besoin d'ouvrir de nouvelles issues dans le dépôt du projet.
Assurez-vous d'avoir Gradle installé et configuré.
Téléchargez le dépôt openapi-parser :
git clone https://github.com/aress31/openapi-parser
cd .\openapi-parser\
Construisez le jar autonome :
./gradlew fatJar
Burp SuitePour installer openapi-parser dans Burp Suite, allez d'abord dans l'onglet Extensions et cliquez sur le bouton Ajouter. Ensuite, sélectionnez le fichier jar openapi-parser-all situé dans le dossier .\build\libs pour charger l'extension.
Sinon, vous pouvez ignorer complètement l'étape de Compilation et télécharger l'extension directement depuis le BApp Store.
Remarque : La version distribuée sur le BApp Store peut être en retard par rapport à la version disponible dans ce dépôt.
OpenAPI pour collecter tous les paramètres imbriqués ainsi que leur exemple/type.MyHttpRequest au lieu de RequestWithMetadata.API directement depuis l'interface graphique.API fournies par l'utilisateur).Voir TODO pour les tâches supplémentaires en suspens.
En juillet 2016, après avoir posté une demande d'amélioration sur le forum d'assistance PortSwigger, j'ai décidé de prendre l'initiative et d'implémenter moi-même une solution.
L'extension est encore en développement, les retours, commentaires et contributions sont donc très appréciés.
Si cette extension vous a fait gagner du temps et des efforts lors d'une évaluation de sécurité, envisagez de montrer votre soutien en sponsorisant une tasse de café ☕ pour le développeur. C'est le carburant qui alimente le développement, après tout. Cliquez simplement sur le bouton Sponsor en haut de la page ou cliquez ici pour contribuer et garder la caféine qui coule. 💸
Vous avez trouvé un bug ? Eh bien, ne le laissez pas traîner ! Écrasons-le ensemble comme des chuchoteurs de bugs ! 🐛💪
Veuillez signaler tout problème sur le traqueur de problèmes GitHub. Ensemble, nous rendrons cette extension aussi fiable qu'un cafard survivant à une apocalypse nucléaire ! 🚀
Vous voulez faire sensation avec vos compétences de codage de folie ? 💻
Génial ! Les contributions sont les bienvenues et grandement appréciées. Veuillez soumettre toutes les PR sur le traqueur de pull requests GitHub. Ensemble, nous pouvons rendre cette extension encore plus géniale ! 🚀
Voir LICENSE.
Site mapScopeParser OpenAPI)' de l'éditeur de messages de Burp.API "intéressants" et/ou de les colorer à des fins de rapport.CSV, permettant aux utilisateurs d'exporter facilement les requêtes API sélectionnées au format CSV pour une analyse ou un rapport ultérieur.JSON et YAML.Param en ajoutant le type des paramètres (par exemple inquery, inbody).