9.3 KiB
Metodología de Vulnerabilidades Web
Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!
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!
- Obtén el oficial PEASS & HackTricks swag
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.
En cada Pentest Web, hay varios lugares ocultos y obvios que podrían ser vulnerables. Esta publicación es 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 intermedios, los cuales pueden ser (ab)usados para explotar vulnerabilidades. Estas vulnerabilidades necesitan que haya un proxy vulnerable en su lugar, pero generalmente también necesitan alguna vulnerabilidad adicional en el backend. {% endhint %}
- Abuso de cabeceras hop-by-hop
- Envenenamiento de Caché/Decepción de Caché
- Contrabando de Peticiones HTTP
- Contrabando H2C
- Inclusión del Lado del Servidor/Inclusión del Lado del Borde
- Descubriendo Cloudflare
- Inyección de 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 algunos datos que serán procesados posteriormente.
Dependiendo de la estructura de los datos que el servidor espera, algunas vulnerabilidades pueden aplicarse o no.
{% endhint %}
Valores Reflejados
Si los datos introducidos de alguna manera pueden 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 Rutas
- Redirección Abierta
- Polución de Prototipos a XSS
- Inclusión del Lado del Servidor/Inclusión del Lado del Borde
- Falsificación de Peticiones del Lado del Servidor
- Inyección de Plantillas del Lado del Servidor
- Robo de Pestañas Reverso
- Inyección de Lado del Servidor XSLT
- XSS
- XSSI
- Búsqueda XS
Algunas de las vulnerabilidades mencionadas requieren condiciones especiales, otras solo requieren que el contenido se refleje. Puedes encontrar algunos políglotos interesantes para probar rápidamente las vulnerabilidades en:
{% content-ref url="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
- Inyección NoSQL
- Inyección LDAP
- ReDoS
- Inyección SQL
- Inyección XPATH
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
- Secuestro de WebSocket entre Sitios (CSWSH)
- Vulnerabilidades de PostMessage
Cabeceras HTTP
Dependiendo de las cabeceras HTTP proporcionadas por el servidor web, algunas vulnerabilidades podrían estar presentes.
- Clickjacking
- Bypass de Política de Seguridad de Contenido
- Hackeo con Cookies
- CORS - Configuraciones Incorrectas y Bypass
Bypasses
Existen varias funcionalidades específicas donde algunos trucos podrían ser útiles para evadirlos.
- 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 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
- Inyección de Cabecera de Correo Electrónico
- Vulnerabilidades JWT
- Entidad XML Externa
Archivos
Las funcionalidades que permiten la carga de archivos pueden 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 otros usuarios o generados automáticamente incluyendo la entrada del usuario podrían ser 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
- Contaminación de Parámetros
- Vulnerabilidad de Normalización Unicode
Aprende a hackear AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!
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!
- Obtén el oficial PEASS & HackTricks swag
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Únete al 💬 grupo de Discord o al grupo de telegram o síguenos en Twitter 🐦 @carlospolopm.
- Comparte tus trucos de hacking enviando PRs a los repositorios de HackTricks y HackTricks Cloud.