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

176 lines
11 KiB
Markdown

# Metodología de Vulnerabilidades Web
{% hint style="success" %}
Aprende y practica Hacking en AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoya a HackTricks</summary>
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los repos de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Obtén la perspectiva de un hacker sobre tus aplicaciones web, red y nube**
**Encuentra e informa sobre vulnerabilidades críticas y explotables con un impacto real en el negocio.** Utiliza nuestras más de 20 herramientas personalizadas para mapear la superficie de ataque, encontrar problemas de seguridad que te permitan escalar privilegios y usar exploits automatizados para recopilar evidencia esencial, convirtiendo tu arduo trabajo en informes persuasivos.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
En cada Pentest Web, hay **varios lugares ocultos y obvios que podrían ser vulnerables**. Esta publicación está destinada a ser una lista de verificación para confirmar que has buscado vulnerabilidades en todos los lugares posibles.
## Proxies
{% hint style="info" %}
Hoy en día, las **aplicaciones** **web** suelen **utilizar** algún tipo de **proxies** **intermediarios**, que pueden ser (mal) utilizados para explotar vulnerabilidades. Estas vulnerabilidades necesitan que haya un proxy vulnerable en su lugar, pero generalmente también requieren alguna vulnerabilidad adicional en el backend.
{% endhint %}
* [ ] [**Abuso de encabezados hop-by-hop**](abusing-hop-by-hop-headers.md)
* [ ] [**Envenenamiento de caché/Decepción de caché**](cache-deception/)
* [ ] [**HTTP Request Smuggling**](http-request-smuggling/)
* [ ] [**H2C Smuggling**](h2c-smuggling.md)
* [ ] [**Inclusión del lado del servidor/Inyección del lado de la frontera**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Descubriendo Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**Inyección del lado del servidor XSLT**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Bypass de Protecciones Proxy / WAF**](proxy-waf-protections-bypass.md)
## **Entrada del usuario**
{% hint style="info" %}
La mayoría de las aplicaciones web **permitirán a los usuarios ingresar algunos datos que serán procesados más tarde.**\
Dependiendo de la estructura de los datos que el servidor espera, algunas vulnerabilidades pueden o no aplicarse.
{% endhint %}
### **Valores Reflejados**
Si los datos introducidos pueden reflejarse de alguna manera en la respuesta, la página podría ser vulnerable a varios problemas.
* [ ] [**Inyección de Plantillas del Lado del Cliente**](client-side-template-injection-csti.md)
* [ ] [**Inyección de Comandos**](command-injection.md)
* [ ] [**CRLF**](crlf-0d-0a.md)
* [ ] [**Markup Colgante**](dangling-markup-html-scriptless-injection/)
* [ ] [**Inclusión de Archivos/Traversal de Ruta**](file-inclusion/)
* [ ] [**Redirección Abierta**](open-redirect.md)
* [ ] [**Contaminación de Prototipos a XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Inclusión del lado del servidor/Inyección del lado de la frontera**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Falsificación de Solicitudes del Lado del Servidor**](ssrf-server-side-request-forgery/)
* [ ] [**Inyección de Plantillas del Lado del Servidor**](ssti-server-side-template-injection/)
* [ ] [**Nabbing de Pestañas Inverso**](reverse-tab-nabbing.md)
* [ ] [**Inyección del lado del servidor XSLT**](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/)
Algunas de las vulnerabilidades mencionadas requieren condiciones especiales, otras solo requieren que el contenido sea reflejado. Puedes encontrar algunos polyglots interesantes para probar rápidamente las vulnerabilidades en:
{% content-ref url="pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/)
{% endcontent-ref %}
### **Funcionalidades de búsqueda**
Si la funcionalidad puede ser utilizada para buscar algún tipo de datos dentro del backend, tal vez puedas (mal) utilizarla para buscar datos arbitrarios.
* [ ] [**Inclusión de Archivos/Traversal de Ruta**](file-inclusion/)
* [ ] [**Inyección NoSQL**](nosql-injection.md)
* [ ] [**Inyección LDAP**](ldap-injection.md)
* [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md)
* [ ] [**Inyección SQL**](sql-injection/)
* [ ] [**Inyección XPATH**](xpath-injection.md)
### **Formularios, WebSockets y PostMsgs**
Cuando un websocket publica un mensaje o un formulario que permite a los usuarios realizar acciones, pueden surgir vulnerabilidades.
* [ ] [**Falsificación de Solicitudes entre Sitios**](csrf-cross-site-request-forgery.md)
* [ ] [**Secuestro de WebSocket entre sitios (CSWSH)**](websocket-attacks.md)
* [ ] [**Vulnerabilidades de PostMessage**](postmessage-vulnerabilities/)
### **Encabezados HTTP**
Dependiendo de los encabezados HTTP proporcionados por el servidor web, algunas vulnerabilidades podrían estar presentes.
* [ ] [**Clickjacking**](clickjacking.md)
* [ ] [**Bypass de Política de Seguridad de Contenido**](content-security-policy-csp-bypass/)
* [ ] [**Hacking de Cookies**](hacking-with-cookies/)
* [ ] [**CORS - Configuraciones Incorrectas y Bypass**](cors-bypass.md)
### **Bypasses**
Hay varias funcionalidades específicas donde algunos métodos alternativos podrían ser útiles para eludirlas.
* [ ] [**Bypass de 2FA/OTP**](2fa-bypass.md)
* [ ] [**Bypass del Proceso de Pago**](bypass-payment-process.md)
* [ ] [**Bypass de Captcha**](captcha-bypass.md)
* [ ] [**Bypass de Inicio de Sesión**](login-bypass/)
* [ ] [**Condición de Carrera**](race-condition.md)
* [ ] [**Bypass de Límite de Tasa**](rate-limit-bypass.md)
* [ ] [**Bypass de Restablecimiento de Contraseña Olvidada**](reset-password.md)
* [ ] [**Vulnerabilidades de Registro**](registration-vulnerabilities.md)
### **Objetos Estructurados / Funcionalidades Específicas**
Algunas funcionalidades requerirán que los **datos estén estructurados en un formato muy específico** (como un objeto serializado de lenguaje o XML). Por lo tanto, es más fácil identificar si la aplicación podría ser vulnerable, ya que necesita procesar ese tipo de datos.\
Algunas **funcionalidades específicas** también pueden ser vulnerables si se utiliza un **formato específico de entrada** (como Inyecciones de Encabezados de Correo Electrónico).
* [ ] [**Deserialización**](deserialization/)
* [ ] [**Inyección de Encabezados de Correo Electrónico**](email-injections.md)
* [ ] [**Vulnerabilidades de JWT**](hacking-jwt-json-web-tokens.md)
* [ ] [**Entidad Externa XML**](xxe-xee-xml-external-entity.md)
### Archivos
Las funcionalidades que permiten subir archivos podrían ser vulnerables a varios problemas.\
Las funcionalidades que generan archivos incluyendo la entrada del usuario podrían ejecutar código inesperado.\
Los usuarios que abren archivos subidos por otros usuarios o generados automáticamente que incluyen la entrada del usuario podrían verse comprometidos.
* [ ] [**Subida de Archivos**](file-upload/)
* [ ] [**Inyección de Fórmulas**](formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**Inyección de PDF**](xss-cross-site-scripting/pdf-injection.md)
* [ ] [**XSS del lado del servidor**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **Gestión de Identidad Externa**
* [ ] [**OAUTH para Toma de Cuenta**](oauth-to-account-takeover.md)
* [ ] [**Ataques SAML**](saml-attacks/)
### **Otras Vulnerabilidades Útiles**
Estas vulnerabilidades podrían ayudar a explotar otras vulnerabilidades.
* [ ] [**Toma de Dominio/Subdominio**](domain-subdomain-takeover.md)
* [ ] [**IDOR**](idor.md)
* [ ] [**Contaminación de Parámetros**](parameter-pollution.md)
* [ ] [**Vulnerabilidad de Normalización Unicode**](unicode-injection/)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
**Obtén la perspectiva de un hacker sobre tus aplicaciones web, red y nube**
**Encuentra e informa sobre vulnerabilidades críticas y explotables con un impacto real en el negocio.** Utiliza nuestras más de 20 herramientas personalizadas para mapear la superficie de ataque, encontrar problemas de seguridad que te permitan escalar privilegios y usar exploits automatizados para recopilar evidencia esencial, convirtiendo tu arduo trabajo en informes persuasivos.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
Aprende y practica Hacking en AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Apoya a HackTricks</summary>
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Comparte trucos de hacking enviando PRs a los repos de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
{% endhint %}