Web API Pentesting
Last updated
Last updated
Utilisez Trickest pour construire et automatiser facilement des workflows alimentés par les outils communautaires les plus avancés au monde. Accédez dès aujourd'hui :
Le test d'intrusion des API implique une approche structurée pour découvrir les vulnérabilités. Ce guide encapsule une méthodologie complète, mettant l'accent sur les techniques et outils pratiques.
Services Web SOAP/XML : Utilisez le format WSDL pour la documentation, généralement trouvée aux chemins ?wsdl
. Des outils comme SOAPUI et WSDLer (extension Burp Suite) sont essentiels pour l'analyse et la génération de requêtes. Un exemple de documentation est accessible sur DNE Online.
API REST (JSON) : La documentation est souvent fournie dans des fichiers WADL, mais des outils comme Swagger UI offrent une interface plus conviviale pour l'interaction. Postman est un outil précieux pour créer et gérer des requêtes d'exemple.
GraphQL : Un langage de requête pour les API offrant une description complète et compréhensible des données dans votre API.
VAmPI : Une API délibérément vulnérable pour la pratique pratique, couvrant les 10 principales vulnérabilités API de l'OWASP.
Vulnérabilités SOAP/XML : Explorez les vulnérabilités XXE, bien que les déclarations DTD soient souvent restreintes. Les balises CDATA peuvent permettre l'insertion de charges utiles si le XML reste valide.
Élévation de privilèges : Testez les points de terminaison avec différents niveaux de privilège pour identifier les possibilités d'accès non autorisé.
Mauvaises configurations CORS : Enquêtez sur les paramètres CORS pour une exploitabilité potentielle via des attaques CSRF à partir de sessions authentifiées.
Découverte de points de terminaison : Exploitez les modèles d'API pour découvrir des points de terminaison cachés. Des outils comme les fuzzers peuvent automatiser ce processus.
Altération de paramètres : Expérimentez en ajoutant ou remplaçant des paramètres dans les requêtes pour accéder à des données ou fonctionnalités non autorisées.
Test des méthodes HTTP : Variez les méthodes de requête (GET, POST, PUT, DELETE, PATCH) pour découvrir des comportements inattendus ou des divulgations d'informations.
Manipulation du type de contenu : Passez entre différents types de contenu (x-www-form-urlencoded, application/xml, application/json) pour tester les problèmes d'analyse ou les vulnérabilités.
Techniques de paramètres avancées : Testez avec des types de données inattendus dans les charges utiles JSON ou jouez avec les données XML pour les injections XXE. Essayez également la pollution de paramètres et les caractères génériques pour des tests plus larges.
Test de version : Les anciennes versions d'API pourraient être plus susceptibles aux attaques. Vérifiez toujours et testez contre plusieurs versions d'API.
kiterunner : Excellent pour découvrir les points de terminaison de l'API. Utilisez-le pour scanner et effectuer une force brute sur les chemins et les paramètres des API cibles.
Des outils supplémentaires comme automatic-api-attack-tool, Astra, et restler-fuzzer offrent des fonctionnalités sur mesure pour les tests de sécurité des API, allant de la simulation d'attaque au fuzzing et à la numérisation des vulnérabilités.
OWASP API Security Top 10 : Lecture essentielle pour comprendre les vulnérabilités courantes des API (OWASP Top 10).
API Security Checklist : Une liste de contrôle complète pour sécuriser les API (lien GitHub).
Filtres Logger++ : Pour la chasse aux vulnérabilités des API, Logger++ offre des filtres utiles (lien GitHub).
Liste des points de terminaison API : Une liste organisée des points de terminaison API potentiels à des fins de test (gist GitHub).
Utilisez Trickest pour construire facilement et automatiser des workflows alimentés par les outils communautaires les plus avancés au monde. Accédez dès aujourd'hui :