8 KiB
Test d'intrusion des 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 :
- Si vous souhaitez voir votre entreprise annoncée dans HackTricks ou télécharger HackTricks en PDF, consultez les PLANS D'ABONNEMENT !
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez La famille PEASS, notre collection exclusive de NFT
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud dépôts GitHub.
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 des 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é 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 de pratique
- VAmPI : Une API délibérément vulnérable pour la pratique pratique, couvrant les 10 principales vulnérabilités API de l'OWASP.
Trucs efficaces pour le test d'intrusion des 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 à travers 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 des 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 des API
- kiterunner : Excellent pour découvrir les points de terminaison des 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 :
- Si vous souhaitez voir votre entreprise annoncée dans HackTricks ou télécharger HackTricks en PDF, consultez les PLANS D'ABONNEMENT !
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Rejoignez 💬 le groupe Discord](https://discord.gg/hRep4RUj7f) ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud github repos.