hacktricks/network-services-pentesting/pentesting-web/web-api-pentesting.md

8.1 KiB

Test d'intrusion sur les API Web

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

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 :

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Résumé de la méthodologie de test d'intrusion sur les API

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.

Compréhension des types d'API

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

Laboratoires pratiques

  • VAmPI : Une API délibérément vulnérable pour la pratique pratique, couvrant les 10 principales vulnérabilités API de l'OWASP.

Astuces efficaces pour le test d'intrusion sur les API

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

Outils et ressources pour le test d'intrusion sur les 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.
kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
  • 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.

Ressources d'apprentissage et de pratique

  • 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).

Références

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 :

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :