Web Vulnerabilities Methodology

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

En cada Web Pentest, hay varios lugares ocultos y obvios que podrían ser vulnerables. Esta entrada pretende ser una lista de verificación para confirmar que has buscado vulnerabilidades en todos los lugares posibles.

Proxies

Tip

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 que exista un proxy vulnerable, pero normalmente también requieren alguna vulnerabilidad adicional en el backend.

User input

Tip

La mayoría de las aplicaciones web permitirán que los usuarios introduzcan datos que serán procesados más tarde.
Dependiendo de la estructura de los datos que el servidor espera, algunas vulnerabilidades pueden aplicarse o no.

Reflected Values

Si los datos introducidos pueden de alguna manera reflejarse en la respuesta, la página podría ser vulnerable a varios problemas.

Algunas de las vulnerabilidades mencionadas requieren condiciones especiales; otras solo requieren que el contenido sea reflejado. Puedes encontrar algunos polygloths interesantes para probar rápidamente las vulnerabilidades en:

Reflecting Techniques - PoCs and Polygloths CheatSheet

Search functionalities

Si la funcionalidad se usa para buscar algún tipo de dato en el backend, quizá puedas (ab)usar esa búsqueda para encontrar datos arbitrarios.

Forms, WebSockets and PostMsgs

Cuando un WebSocket envía un mensaje o un formulario permite que los usuarios realicen acciones, pueden surgir vulnerabilidades.

Cross-site WebSocket hijacking & localhost abuse

Las upgrades de WebSocket reenvían automáticamente cookies y no bloquean ws://127.0.0.1, por lo que cualquier origen web puede controlar endpoints de IPC de escritorio que omiten la validación de Origin. Cuando detectes un launcher que expone una API tipo JSON-RPC a través de un agente local:

  • Observa los frames emitidos para clonar las tuplas type/name/args requeridas por cada método.
  • Fuerza bruceo del puerto en escucha directamente desde el navegador (Chromium soportará ~16k upgrades fallidos) hasta que un socket loopback responda con el banner del protocolo — Firefox suele bloquearse rápidamente bajo la misma carga.
  • Encadena un par create → privileged action: por ejemplo, invoca un método create* que devuelva un GUID e inmediatamente llama al método correspondiente *Launch* con payloads controlados por el atacante.

Si puedes pasar flags JVM arbitrarios (como AdditionalJavaArguments), fuerza un error con -XX:MaxMetaspaceSize=<tiny> y añade -XX:OnOutOfMemoryError="<cmd>" para ejecutar comandos del SO sin tocar la lógica de la aplicación. Consulta WebSocket attacks para un walkthrough.

HTTP Headers

Dependiendo de los HTTP headers que envíe el servidor web, podrían existir algunas vulnerabilidades.

Bypasses

Hay varias funcionalidades específicas donde algunos workarounds pueden ser útiles para eludirlas.

Structured objects / Specific functionalities

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 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 usa un formato específico de entrada (como Email Header Injections).

Files

Las funcionalidades que permiten subir archivos podrían ser vulnerables a varios problemas.
Las funcionalidades que generan archivos incluyendo input del usuario podrían ejecutar código inesperado.
Los usuarios que abran archivos subidos por otros usuarios o generados automáticamente incluyendo input del usuario podrían verse comprometidos.

External Identity Management

Other Helpful Vulnerabilities

Estas vulnerabilidades pueden ayudar a explotar otras vulnerabilidades.

Web Servers & Middleware

Las malas configuraciones en la edge stack a menudo desbloquean bugs más impactantes en la capa de aplicación.

Application Frameworks & Stacks

Los primitivas específicas de frameworks frecuentemente exponen gadgets, defaults peligrosos o endpoints propiedad del framework.

CMS, SaaS & Managed Platforms

Los productos de alta superficie a menudo incluyen exploits conocidos, plugins débiles o endpoints administrativos privilegiados.

APIs, Buckets & Integrations

Los helpers del lado servidor y las integraciones de terceros pueden exponer debilidades en el parsing de archivos o en la capa de almacenamiento.

Supply Chain & Identifier Abuse

Ataques que apuntan a pipelines de build o a identificadores previsibles pueden convertirse en el foothold inicial antes de explotar bugs tradicionales.

Web3, Extensions & Tooling

Las aplicaciones modernas se extienden al navegador, wallets y pipelines de automatización — mantén estos vectores en el scope.

References

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks