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

156 lines
9.6 KiB
Markdown
Raw Normal View History

# Metodología de Vulnerabilidades Web
2023-06-05 18:33:24 +00:00
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
2023-06-05 18:33:24 +00:00
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2023-06-05 18:33:24 +00:00
</details>
En cada Pentest Web, hay **varios lugares ocultos y obvios que podrían ser vulnerables**. Esta publicación pretende ser una lista de verificación para confirmar que has buscado vulnerabilidades en todos los lugares posibles.
2023-06-05 18:33:24 +00:00
## Proxies
{% hint style="info" %}
Hoy en día, las **aplicaciones web** suelen **utilizar** algún tipo de **proxies intermedios**, los cuales pueden ser (ab)usados para explotar vulnerabilidades. Estas vulnerabilidades necesitan un proxy vulnerable para estar en su lugar, pero generalmente también necesitan alguna vulnerabilidad adicional en el backend.
2023-06-05 18:33:24 +00:00
{% endhint %}
* [ ] [**Abuso de cabeceras hop-by-hop**](../abusing-hop-by-hop-headers.md)
* [ ] [**Envenenamiento de Caché/Engaño de Caché**](../cache-deception.md)
* [ ] [**Contrabando de Peticiones HTTP**](../http-request-smuggling/)
* [ ] [**Contrabando H2C**](../h2c-smuggling.md)
* [ ] [**Inclusión en el Lado del Servidor/Inclusión en el Lado del Borde**](../server-side-inclusion-edge-side-inclusion-injection.md)
2023-06-05 18:33:24 +00:00
* [ ] [**Descubriendo Cloudflare**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**Inyección de Lado del Servidor XSLT**](../xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Bypass de Protecciones de Proxy / WAF**](../proxy-waf-protections-bypass.md)
2023-06-05 18:33:24 +00:00
## **Entrada de Usuario**
2023-06-05 18:33:24 +00:00
{% hint style="info" %}
La mayoría de las aplicaciones web permitirán a los usuarios **introducir algunos datos que serán procesados posteriormente**.\
Dependiendo de la estructura de los datos que el servidor espera, algunas vulnerabilidades pueden aplicarse o no.
2023-06-05 18:33:24 +00:00
{% endhint %}
### **Valores Reflejados**
2023-06-05 18:33:24 +00:00
Si los datos introducidos de alguna manera pueden reflejarse en la respuesta, la página podría ser vulnerable a varios problemas.
2023-06-05 18:33:24 +00:00
* [ ] [**Inyección de Plantillas en el Lado del Cliente**](../client-side-template-injection-csti.md)
* [ ] [**Inyección de Comandos**](../command-injection.md)
2023-06-05 18:33:24 +00:00
* [ ] [**CRLF**](../crlf-0d-0a.md)
* [ ] [**Marcado Colgante**](../dangling-markup-html-scriptless-injection/)
* [ ] [**Inclusión de Archivos/Travesía de Rutas**](../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 en el Lado del Servidor/Inclusión en el Lado del Borde**](../server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Falsificación de Peticiones en el Lado del Servidor**](../ssrf-server-side-request-forgery/)
* [ ] [**Inyección de Plantillas en el Lado del Servidor**](../ssti-server-side-template-injection/)
* [ ] [**Robo de Pestañas Reverso**](../reverse-tab-nabbing.md)
* [ ] [**Inyección de 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.md)
Algunas de las vulnerabilidades mencionadas requieren condiciones especiales, otras solo requieren que el contenido se refleje. Puedes encontrar algunos políglotas 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 se puede utilizar para buscar algún tipo de datos dentro del backend, tal vez puedas (ab)usarla para buscar datos arbitrarios.
* [ ] [**Inclusión de Archivos/Travesía de Rutas**](../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 envía un mensaje o un formulario permite a los usuarios realizar acciones, pueden surgir vulnerabilidades.
* [ ] [**Falsificación de Peticiones entre Sitios**](../csrf-cross-site-request-forgery.md)
* [ ] [**Secuestro de WebSockets entre Sitios (CSWSH)**](../websocket-attacks.md)
* [ ] [**Vulnerabilidades de PostMessage**](../postmessage-vulnerabilities/)
### **Cabeceras HTTP**
Dependiendo de las cabeceras HTTP proporcionadas 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/)
* [ ] [**Hackeo de Cookies**](../hacking-with-cookies/)
* [ ] [**CORS - Configuraciones Incorrectas y Bypass**](../cors-bypass.md)
### **Bypasses**
Existen varias funcionalidades específicas donde algunos trucos podrían ser útiles para evadirlos.
* [ ] [**Bypass de 2FA/OTP**](../2fa-bypass.md)
* [ ] [**Bypass de 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 Cabecera de Correo Electrónico).
* [ ] [**Deserialización**](../deserialization/)
* [ ] [**Inyección de Cabecera 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 cargar 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 cargados por usuarios o generados automáticamente incluyendo la entrada del usuario podrían ser comprometidos.
* [ ] [**Carga 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 en el Lado del Servidor**](../xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **Gestión de Identidad Externa**
* [ ] [**OAUTH para Toma de Control 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 Control 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/)
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>