9.5 KiB
Metodología de Vulnerabilidades Web
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF revisa los PLANES DE SUSCRIPCIÓN!
- Obtén el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de github de HackTricks y HackTricks Cloud.
En cada pentesting web, hay varios lugares ocultos y obvios que podrían ser vulnerables. Este post está diseñado para 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 usar algún tipo de proxies intermediarios, los cuales pueden ser (ab)usados para explotar vulnerabilidades. Estas vulnerabilidades necesitan un proxy vulnerable en su lugar, pero generalmente también requieren alguna vulnerabilidad adicional en el backend. {% endhint %}
- Abuso de encabezados hop-by-hop
- Envenenamiento/Engaño de Caché
- Contrabando de Solicitudes HTTP
- Contrabando H2C
- Inclusión del Lado del Servidor/Inclusión del Lado del Borde
- Descubriendo Cloudflare
- Inyección del Lado del Servidor XSLT
- Bypass de Protecciones de Proxy / WAF
Entrada de usuario
{% hint style="info" %}
La mayoría de las aplicaciones web permitirán a los usuarios introducir 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 de alguna manera reflejarse en la respuesta, la página podría ser vulnerable a varios problemas.
- Inyección de Plantillas del Lado del Cliente
- Inyección de Comandos
- CRLF
- Marcado Colgante
- Inclusión de Archivos/Travesía de Directorios
- Redirección Abierta
- Polución de Prototipos a XSS
- Inclusión del Lado del Servidor/Inclusión del Lado del Borde
- Falsificación de Solicitud del Lado del Servidor
- Inyección de Plantillas del Lado del Servidor
- Secuestro de Pestañas Inverso
- Inyección del Lado del Servidor XSLT
- XSS
- XSSI
- XS-Search
Algunas de las vulnerabilidades mencionadas requieren condiciones especiales, otras solo requieren que el contenido sea reflejado. Puedes encontrar algunos políglotas interesantes para probar rápidamente las vulnerabilidades en:
{% content-ref url="../pocs-and-polygloths-cheatsheet/" %} hoja de trucos de pocs y políglotas {% endcontent-ref %}
Funcionalidades de búsqueda
Si la funcionalidad puede usarse para buscar algún tipo de dato dentro del backend, tal vez puedas (ab)usarla para buscar datos arbitrarios.
- Inclusión de Archivos/Travesía de Directorios
- Inyección NoSQL
- Inyección LDAP
- ReDoS
- Inyección SQL
- Inyección XPATH
Formularios, WebSockets y PostMsgs
Cuando un websocket publica un mensaje o un formulario permite a los usuarios realizar acciones, pueden surgir vulnerabilidades.
- Falsificación de Solicitud en Sitios Cruzados
- Secuestro de WebSocket entre sitios (CSWSH)
- Vulnerabilidades de PostMessage
Encabezados HTTP
Dependiendo de los encabezados HTTP proporcionados por el servidor web, algunas vulnerabilidades podrían estar presentes.
- Clickjacking
- Bypass de Política de Seguridad de Contenido
- Hacking con Cookies
- CORS - Configuraciones incorrectas y Bypass
Bypasses
Hay varias funcionalidades específicas donde algunos trucos podrían ser útiles para eludirlas
- Bypass de 2FA/OTP
- Bypass del Proceso de Pago
- Bypass de Captcha
- Bypass de Inicio de Sesión
- Condición de Carrera
- Bypass de Límite de Tasa
- Bypass de Restablecimiento de Contraseña Olvidada
- Vulnerabilidades de Registro
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 un lenguaje o XML). Por lo tanto, es más fácil identificar si la aplicación podría ser vulnerable ya que necesita estar procesando ese tipo de datos.
Algunas funcionalidades específicas también pueden ser vulnerables si se usa un formato específico de la entrada (como Inyecciones en Encabezados de Correo Electrónico).
- Deserialización
- Inyección en Encabezados de Correo Electrónico
- Vulnerabilidades JWT
- Entidad Externa XML
Archivos
Las funcionalidades que permiten subir archivos podrían ser vulnerables a varios problemas.
Las funcionalidades que generan archivos incluyendo entrada de usuario podrían ejecutar código inesperado.
Los usuarios que abren archivos subidos por usuarios o generados automáticamente incluyendo entrada de usuario podrían estar comprometidos.
Gestión de Identidad Externa
Otras Vulnerabilidades Útiles
Estas vulnerabilidades podrían ayudar a explotar otras vulnerabilidades.
- Toma de Control de Dominio/Subdominio
- IDOR
- Polución de Parámetros
- Vulnerabilidad de Normalización Unicode
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!
Otras formas de apoyar a HackTricks:
- Si quieres ver tu empresa anunciada en HackTricks o descargar HackTricks en PDF revisa los PLANES DE SUSCRIPCIÓN!
- Obtén el merchandising oficial de PEASS & HackTricks
- Descubre La Familia PEASS, nuestra colección de NFTs exclusivos
- Únete al 💬 grupo de Discord o al grupo de telegram o sígueme en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de github de HackTricks y HackTricks Cloud.