9.6 KiB
Méthodologie des vulnérabilités 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 NFTs
- 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.
Dans chaque test d'intrusion Web, il y a plusieurs endroits cachés et évidents qui pourraient être vulnérables. Ce post 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 (mal) utilisé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ête HTTP
- Smuggling H2C
- Inclusion côté serveur/Inclusion côté bord
- Découverte de Cloudflare
- Injection côté serveur XSLT
- Contournement des protections Proxy / WAF
Entrée utilisateur
{% hint style="info" %}
La plupart des applications Web permettront aux utilisateurs d'entrer des données qui seront traitées ultérieurement.
En fonction de la structure des données que le serveur attend, certaines vulnérabilités peuvent s'appliquer ou non.
{% endhint %}
Valeurs réfléchies
Si les données introduites peuvent d'une manière ou d'une autre être reflétées dans la réponse, la page pourrait être vulnérable à plusieurs problèmes.
- Injection de modèle côté client
- Injection de commande
- CRLF
- Balises pendantes
- Inclusion de fichier/Traversée de chemin
- Redirection ouverte
- Pollution de prototype vers XSS
- Injection côté serveur/Inclusion côté bord
- Falsification de requête côté serveur
- Injection de modèle côté serveur
- Tab Nabbing inversé
- Injection côté serveur XSLT
- XSS
- XSSI
- Recherche XS
Certaines des vulnérabilités mentionnées nécessitent des conditions spéciales, d'autres nécessitent simplement que le contenu soit reflété. Vous pouvez trouver quelques 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 type de données à l'intérieur du backend, peut-être pouvez-vous (ab)user pour rechercher des données arbitraires.
- Inclusion de fichier/Traversée de chemin
- Injection NoSQL
- Injection LDAP
- ReDoS
- Injection SQL
- Injection XPATH
Formulaires, WebSockets et PostMsgs
Lorsqu'un websocket envoie un message ou un formulaire permettant aux utilisateurs d'effectuer des actions, des vulnérabilités peuvent survenir.
- Falsification de requête intersite
- Hijacking de WebSocket intersite (CSWSH)
- Vulnérabilités PostMessage
En-têtes HTTP
En fonction des en-têtes HTTP fournis par le serveur Web, certaines vulnérabilités pourraient être présentes.
- Clickjacking
- Contournement de la stratégie de sécurité du contenu
- Piratage avec les cookies
- CORS - Mauvaises configurations et contournement
Contournements
Il existe plusieurs fonctionnalités spécifiques où certains contournements pourraient être utiles pour les contourner.
- Contournement 2FA/OTP
- Contournement du processus de paiement
- Contournement de captcha
- Contournement de connexion
- Condition de course
- Contournement de limite de taux
- Contournement de réinitialisation de mot de passe oublié
- Vulnérabilités d'inscription
Objets structurés / Fonctionnalités spécifiques
Certaines fonctionnalités nécessiteront que les données soient structurées dans un format très spécifique (comme un objet sérialisé de langage ou XML). Par conséquent, il est plus facile d'identifier si l'application pourrait ê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êtes d'e-mail).
Fichiers
Les fonctionnalités qui permettent de télécharger des fichiers peuvent être vulnérables à plusieurs problèmes.
Les fonctionnalités qui génèrent des fichiers incluant des entrées utilisateur pourraient exécuter un code inattendu.
Les utilisateurs qui ouvrent des fichiers téléchargés par d'autres utilisateurs ou générés automatiquement incluant des entrées utilisateur pourraient être compromis.
Gestion d'identité externe
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
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 NFTs
- 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 github repos.