mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 22:18:27 +00:00
157 lines
9.5 KiB
Markdown
157 lines
9.5 KiB
Markdown
# Méthodologie des vulnérabilités Web
|
|
|
|
{% hint style="success" %}
|
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Soutenir HackTricks</summary>
|
|
|
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
Dans chaque Pentest 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 une sorte de **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 ont généralement aussi besoin d'une vulnérabilité supplémentaire dans le backend.
|
|
{% endhint %}
|
|
|
|
* [ ] [**Abus des en-têtes hop-by-hop**](abusing-hop-by-hop-headers.md)
|
|
* [ ] [**Poisonnement de cache/Déception de cache**](cache-deception/)
|
|
* [ ] [**HTTP Request Smuggling**](http-request-smuggling/)
|
|
* [ ] [**H2C Smuggling**](h2c-smuggling.md)
|
|
* [ ] [**Inclusion côté serveur/Inclusion côté edge**](server-side-inclusion-edge-side-inclusion-injection.md)
|
|
* [ ] [**Découverte de Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
|
|
* [ ] [**Injection XSLT côté serveur**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
|
* [ ] [**Contournement des protections Proxy / WAF**](proxy-waf-protections-bypass.md)
|
|
|
|
## **Entrée utilisateur**
|
|
|
|
{% hint style="info" %}
|
|
La plupart des applications web **permettent aux utilisateurs d'entrer des données qui seront traitées plus tard.**\
|
|
Selon la structure des données que le serveur attend, certaines vulnérabilités peuvent ou non s'appliquer.
|
|
{% endhint %}
|
|
|
|
### **Valeurs réfléchies**
|
|
|
|
Si les données introduites peuvent d'une manière ou d'une autre être réfléchies dans la réponse, la page pourrait être vulnérable à plusieurs problèmes.
|
|
|
|
* [ ] [**Injection de modèle côté client**](client-side-template-injection-csti.md)
|
|
* [ ] [**Injection de commande**](command-injection.md)
|
|
* [ ] [**CRLF**](crlf-0d-0a.md)
|
|
* [ ] [**Markup pendu**](dangling-markup-html-scriptless-injection/)
|
|
* [ ] [**Inclusion de fichier/Traversal de chemin**](file-inclusion/)
|
|
* [ ] [**Redirection ouverte**](open-redirect.md)
|
|
* [ ] [**Pollution de prototype à XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
|
|
* [ ] [**Inclusion côté serveur/Inclusion côté edge**](server-side-inclusion-edge-side-inclusion-injection.md)
|
|
* [ ] [**Falsification de requête côté serveur**](ssrf-server-side-request-forgery/)
|
|
* [ ] [**Injection de modèle côté serveur**](ssti-server-side-template-injection/)
|
|
* [ ] [**Reverse Tab Nabbing**](reverse-tab-nabbing.md)
|
|
* [ ] [**Injection XSLT côté serveur**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
|
* [ ] [**XSS**](xss-cross-site-scripting/)
|
|
* [ ] [**XSSI**](xssi-cross-site-script-inclusion.md)
|
|
* [ ] [**XS-Search**](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](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, peut-être pouvez-vous (mal) l'utiliser pour rechercher des données arbitraires.
|
|
|
|
* [ ] [**Inclusion de fichier/Traversal 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 apparaître.
|
|
|
|
* [ ] [**Falsification de requête intersite**](csrf-cross-site-request-forgery.md)
|
|
* [ ] [**Détournement de WebSocket intersite (CSWSH)**](websocket-attacks.md)
|
|
* [ ] [**Vulnérabilités PostMessage**](postmessage-vulnerabilities/)
|
|
|
|
### **En-têtes HTTP**
|
|
|
|
Selon les en-têtes HTTP fournis par le serveur web, certaines vulnérabilités pourraient être présentes.
|
|
|
|
* [ ] [**Clickjacking**](clickjacking.md)
|
|
* [ ] [**Contournement de la politique de sécurité du contenu**](content-security-policy-csp-bypass/)
|
|
* [ ] [**Hacking des cookies**](hacking-with-cookies/)
|
|
* [ ] [**CORS - Mauvaises configurations & Contournement**](cors-bypass.md)
|
|
|
|
### **Contournements**
|
|
|
|
Il existe plusieurs fonctionnalités spécifiques où des solutions de contournement peuvent être utiles pour les contourner.
|
|
|
|
* [ ] [**Contournement 2FA/OTP**](2fa-bypass.md)
|
|
* [ ] [**Contournement du processus de paiement**](bypass-payment-process.md)
|
|
* [ ] [**Contournement de Captcha**](captcha-bypass.md)
|
|
* [ ] [**Contournement de connexion**](login-bypass/)
|
|
* [ ] [**Condition de course**](race-condition.md)
|
|
* [ ] [**Contournement de limite de taux**](rate-limit-bypass.md)
|
|
* [ ] [**Contournement de réinitialisation de 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écessiteront que **les données soient structurées dans un format très spécifique** (comme un objet sérialisé en 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'email).
|
|
|
|
* [ ] [**Désérialisation**](deserialization/)
|
|
* [ ] [**Injection d'en-tête d'email**](email-injections.md)
|
|
* [ ] [**Vulnérabilités JWT**](hacking-jwt-json-web-tokens.md)
|
|
* [ ] [**Entité externe XML**](xxe-xee-xml-external-entity.md)
|
|
|
|
### 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 peuvent 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 peuvent être compromis.
|
|
|
|
* [ ] [**Téléchargement de fichier**](file-upload/)
|
|
* [ ] [**Injection de formule**](formula-csv-doc-latex-ghostscript-injection.md)
|
|
* [ ] [**Injection PDF**](xss-cross-site-scripting/pdf-injection.md)
|
|
* [ ] [**XSS côté serveur**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
|
|
|
|
### **Gestion d'identité externe**
|
|
|
|
* [ ] [**OAUTH pour prise de contrôle de compte**](oauth-to-account-takeover.md)
|
|
* [ ] [**Attaques SAML**](saml-attacks/)
|
|
|
|
### **Autres vulnérabilités utiles**
|
|
|
|
Ces vulnérabilités pourraient 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/)
|
|
|
|
{% hint style="success" %}
|
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Soutenir HackTricks</summary>
|
|
|
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
|
|
|
</details>
|
|
{% endhint %}
|