11 KiB
Méthodologie des vulnérabilités Web
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.
Dans chaque test de pénétration Web, il existe plusieurs endroits cachés et évidents qui peuvent être vulnérables. Cet article est destiné à être une liste de contrôle pour confirmer que vous avez recherché des vulnérabilités dans tous les endroits possibles.
Proxies
{% hint style="info" %} De nos jours, les applications Web utilisent généralement des proxies intermédiaires, qui peuvent être (abusés) pour exploiter des vulnérabilités. Ces vulnérabilités nécessitent qu'un proxy vulnérable soit en place, mais elles nécessitent généralement également une vulnérabilité supplémentaire dans le backend. {% endhint %}
- Abus des en-têtes hop-by-hop
- Empoisonnement de cache/Duperie de cache
- Smuggling de requêtes HTTP
- Smuggling H2C
- Inclusion côté serveur/Inclusion côté bord
- Découverte de Cloudflare
- Injection côté serveur XSLT
Entrée utilisateur
{% hint style="info" %}
La plupart des applications Web permettront aux utilisateurs de saisir des données qui seront traitées ultérieurement.
Selon la structure des données attendue par le serveur, certaines vulnérabilités peuvent s'appliquer ou non.
{% endhint %}
Valeurs réfléchies
Si les données introduites peuvent être d'une certaine manière réfléchies dans la réponse, la page pourrait être vulnérable à plusieurs problèmes.
- Injection de modèles côté client
- Injection de commandes
- CRLF
- Balises en suspens
- Inclusion de fichiers/Traversée de chemin
- Redirection ouverte
- Pollution de prototype vers XSS
- Injection côté serveur/Inclusion côté bord
- Forgery de requête côté serveur
- Injection de modèles côté serveur
- Tab Nabbing inversé
- Injection côté serveur XSLT
- XSS
- XSSI
- XS-Search
Certaines des vulnérabilités mentionnées nécessitent des conditions spéciales, d'autres nécessitent simplement que le contenu soit réfléchi. Vous pouvez trouver des polyglottes intéressants pour tester rapidement les vulnérabilités dans :
{% content-ref url="../pocs-and-polygloths-cheatsheet/" %} pocs-and-polygloths-cheatsheet {% endcontent-ref %}
Fonctionnalités de recherche
Si la fonctionnalité peut être utilisée pour rechercher un certain type de données dans le backend, vous pouvez peut-être (ab)user de cette fonctionnalité pour rechercher des données arbitraires.
- Inclusion de fichiers/Traversée de chemin
- Injection NoSQL
- Injection LDAP
- ReDoS
- Injection SQL
- Injection XPATH
Formulaires, WebSockets et PostMsgs
Lorsqu'un websocket envoie un message ou qu'un formulaire permet aux utilisateurs d'effectuer des actions, des vulnérabilités peuvent survenir.
- Cross-Site Request Forgery (CSRF)
- Hijacking de WebSocket entre sites (CSWSH)
- Vulnérabilités de PostMessage
En-têtes HTTP
Selon les en-têtes HTTP fournis par le serveur web, certaines vulnérabilités peuvent être présentes.
- Clickjacking
- Contournement de la politique de sécurité du contenu (CSP)
- Piratage des cookies
- CORS - Mauvaises configurations et contournement
Contournements
Il existe plusieurs fonctionnalités spécifiques pour lesquelles des contournements peuvent être utiles pour les contourner.
- Contournement de la 2FA/OTP
- Contournement du processus de paiement
- Contournement de CAPTCHA
- Contournement de la connexion
- Condition de concurrence
- Contournement de la limite de taux
- Contournement de la réinitialisation du mot de passe oublié
- Vulnérabilités d'inscription
Objets structurés / Fonctionnalités spécifiques
Certaines fonctionnalités nécessitent que les données soient structurées dans un format très spécifique (comme un objet sérialisé en langage ou XML). Il est donc plus facile d'identifier si l'application peut être vulnérable car elle doit traiter ce type de données.
Certaines fonctionnalités spécifiques peuvent également être vulnérables si un format spécifique de l'entrée est utilisé (comme les injections d'en-tête de courrier électronique).
- Désérialisation
- Injection d'en-tête de courrier électronique
- Vulnérabilités JWT (JSON Web Tokens)
- Entité XML externe
Fichiers
Les fonctionnalités permettant de télécharger des fichiers peuvent être vulnérables à plusieurs problèmes.
Les fonctionnalités générant des fichiers incluant une entrée utilisateur peuvent exécuter un code inattendu.
Les utilisateurs qui ouvrent des fichiers téléchargés par des utilisateurs ou générés automatiquement incluant une entrée utilisateur peuvent être compromis.
Gestion externe de l'identité
Autres vulnérabilités utiles
Ces vulnérabilités peuvent aider à exploiter d'autres vulnérabilités.
- Prise de contrôle de domaine/sous-domaine
- IDOR
- Pollution de paramètres
- Vulnérabilité de normalisation Unicode
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Vous travaillez dans une entreprise de cybersécurité ? Vous souhaitez voir votre entreprise annoncée dans HackTricks ? ou souhaitez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez The PEASS Family, notre collection exclusive de NFT
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.