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

149 lines
11 KiB
Markdown

# Méthodologie des vulnérabilités Web
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* 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**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
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**](../abusing-hop-by-hop-headers.md)
* [ ] [**Empoisonnement de cache/Duperie de cache**](../cache-deception.md)
* [ ] [**Smuggling de requêtes HTTP**](../http-request-smuggling/)
* [ ] [**Smuggling H2C**](../h2c-smuggling.md)
* [ ] [**Inclusion côté serveur/Inclusion côté bord**](../server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Découverte de Cloudflare**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**Injection côté serveur XSLT**](../xslt-server-side-injection-extensible-stylesheet-languaje-transformations.md)
## **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**](../client-side-template-injection-csti.md)
* [ ] [**Injection de commandes**](../command-injection.md)
* [ ] [**CRLF**](../crlf-0d-0a.md)
* [ ] [**Balises en suspens**](../dangling-markup-html-scriptless-injection/)
* [ ] [**Inclusion de fichiers/Traversée de chemin**](../file-inclusion/)
* [ ] [**Redirection ouverte**](../open-redirect.md)
* [ ] [**Pollution de prototype vers XSS**](../deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Injection côté serveur/Inclusion côté bord**](../server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Forgery de requête côté serveur**](../ssrf-server-side-request-forgery/)
* [ ] [**Injection de modèles côté serveur**](../ssti-server-side-template-injection/)
* [ ] [**Tab Nabbing inversé**](../reverse-tab-nabbing.md)
* [ ] [**Injection côté serveur XSLT**](../xslt-server-side-injection-extensible-stylesheet-languaje-transformations.md)
* [ ] [**XSS**](../xss-cross-site-scripting/)
* [ ] [**XSSI**](../xssi-cross-site-script-inclusion.md)
* [ ] [**XS-Search**](../xs-search.md)
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](../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**](../file-inclusion/)
* [ ] [**Injection NoSQL**](../nosql-injection.md)
* [ ] [**Injection LDAP**](../ldap-injection.md)
* [ ] [**ReDoS**](../regular-expression-denial-of-service-redos.md)
* [ ] [**Injection SQL**](../sql-injection/)
* [ ] [**Injection XPATH**](../xpath-injection.md)
### **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)**](../csrf-cross-site-request-forgery.md)
* [ ] [**Hijacking de WebSocket entre sites (CSWSH)**](../cross-site-websocket-hijacking-cswsh.md)
* [ ] [**Vulnérabilités de PostMessage**](../postmessage-vulnerabilities/)
### **En-têtes HTTP**
Selon les en-têtes HTTP fournis par le serveur web, certaines vulnérabilités peuvent être présentes.
* [ ] [**Clickjacking**](../clickjacking.md)
* [ ] [**Contournement de la politique de sécurité du contenu (CSP)**](../content-security-policy-csp-bypass/)
* [ ] [**Piratage des cookies**](../hacking-with-cookies/)
* [ ] [**CORS - Mauvaises configurations et contournement**](../cors-bypass.md)
### **Contournements**
Il existe plusieurs fonctionnalités spécifiques pour lesquelles des contournements peuvent être utiles pour les contourner.
* [ ] [**Contournement de la 2FA/OTP**](../2fa-bypass.md)
* [ ] [**Contournement du processus de paiement**](../bypass-payment-process.md)
* [ ] [**Contournement de CAPTCHA**](../captcha-bypass.md)
* [ ] [**Contournement de la connexion**](../login-bypass/)
* [ ] [**Condition de concurrence**](../race-condition.md)
* [ ] [**Contournement de la limite de taux**](../rate-limit-bypass.md)
* [ ] [**Contournement de la réinitialisation du mot de passe oublié**](../reset-password.md)
* [ ] [**Vulnérabilités d'inscription**](../registration-vulnerabilities.md)
### **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**](../deserialization/)
* [ ] [**Injection d'en-tête de courrier électronique**](../email-injections.md)
* [ ] [**Vulnérabilités JWT (JSON Web Tokens)**](../hacking-jwt-json-web-tokens.md)
* [ ] [**Entité XML externe**](../xxe-xee-xml-external-entity.md)
### 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.
* [ ] [**Téléchargement de fichiers**](../file-upload/)
* [ ] [**Injection de formule**](../formula-doc-latex-injection.md)
* [ ] [**Injection de PDF**](../xss-cross-site-scripting/pdf-injection.md)
* [ ] [**XSS côté serveur**](../xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **Gestion externe de l'identité**
* [ ] [**OAUTH pour la prise de contrôle de compte**](../oauth-to-account-takeover.md)
* [ ] [**Attaques SAML**](../saml-attacks/)
### **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**](../domain-subdomain-takeover.md)
* [ ] [**IDOR**](../idor.md)
* [ ] [**Pollution de paramètres**](../parameter-pollution.md)
* [ ] [**Vulnérabilité de normalisation Unicode**](../unicode-injection/)
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* 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**](https://github.com/sponsors/carlospolop) !
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Partagez vos astuces de piratage en soumettant des PR au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>