hacktricks/pentesting-web/web-vulnerabilities-methodology/README.md

11 KiB

Méthodologie des vulnérabilités Web

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

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 %}

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.

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.

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.

En-têtes HTTP

Selon les en-têtes HTTP fournis par le serveur web, certaines vulnérabilités peuvent être présentes.

Contournements

Il existe plusieurs fonctionnalités spécifiques pour lesquelles des contournements peuvent être utiles pour les contourner.

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

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.

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥