Cache Poisoning to DoS
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
En esta página puedes encontrar diferentes variaciones para intentar hacer que el servidor web responda con errores a solicitudes que son válidas para los servidores de caché
HTTP Header Oversize (HHO)
Envía una solicitud con un tamaño de encabezado mayor que el que soporta el servidor web pero menor que el que soporta el servidor de caché. El servidor web responderá con una respuesta 400 que podría ser almacenada en caché:
HTTP Meta Character (HMC) y valores inesperados
Envía un encabezado que contenga algunos caracteres meta dañinos como < y >. Para que el ataque funcione, primero debes eludir la caché.
Un encabezado mal configurado podría ser solo \:
como encabezado.
Esto también podría funcionar si se envían valores inesperados, como un Content-Type: inesperado.
Encabezado sin clave
Algunos sitios web devolverán un código de estado de error si ven algunos encabezados específicos en la solicitud, como con el encabezado X-Amz-Website-Location-Redirect: someThing:
HTTP Method Override Attack (HMO)
Si el servidor admite cambiar el método HTTP con encabezados como X-HTTP-Method-Override
, X-HTTP-Method
o X-Method-Override
. Es posible solicitar una página válida cambiando el método para que el servidor no lo admita, de modo que una respuesta incorrecta se almacene en caché:
Puerto sin clave
Si el puerto en el encabezado Host se refleja en la respuesta y no se incluye en la clave de caché, es posible redirigirlo a un puerto no utilizado:
Long Redirect DoS
Como en el siguiente ejemplo, x no está siendo almacenado en caché, por lo que un atacante podría abusar del comportamiento de respuesta de redirección para hacer que la redirección envíe una URL tan grande que devuelva un error. Entonces, las personas que intenten acceder a la URL sin la clave x no almacenada en caché recibirán la respuesta de error:
Normalización de mayúsculas en el encabezado Host
El encabezado Host debería ser insensible a mayúsculas, pero algunos sitios web esperan que esté en minúsculas, devolviendo un error si no lo está:
Normalización de rutas
Algunas páginas devolverán códigos de error al enviar datos URLencode en la ruta, sin embargo, el servidor de caché URLdecodeará la ruta y almacenará la respuesta para la ruta URLdecoded:
Fat Get
Algunos servidores de caché, como Cloudflare, o servidores web, detienen las solicitudes GET con un cuerpo, por lo que esto podría ser abusado para almacenar en caché una respuesta inválida:
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)