Cache Poisoning to DoS
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é
Tamaño excesivo de encabezado HTTP (HHO)
Envía una solicitud con un tamaño de encabezado mayor al admitido por el servidor web pero menor al admitido por el servidor de caché. El servidor web responderá con un código de respuesta 400 que podría ser almacenado en caché:
Carácter meta de HTTP (HMC) y valores inesperados
Enviar 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 simplemente \:
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:
Ataque de Sustitución de Método HTTP (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 y se almacene una respuesta incorrecta:
Puerto sin clave
Si el puerto en el encabezado del Host se refleja en la respuesta y no se incluye en la clave de caché, es posible redirigirlo a un puerto no utilizado:
Denegación de Servicio por Redirección Larga
Como en el siguiente ejemplo, x no está siendo almacenado en caché, por lo que un atacante podría abusar del comportamiento de la respuesta de redirección para hacer que el redireccionamiento envíe una URL tan grande que devuelva un error. Entonces, las personas que intenten acceder a la URL sin la clave x sin caché recibirán la respuesta de error:
Normalización de mayúsculas y minúsculas en el encabezado del host
El encabezado del host debería ser insensible a mayúsculas y minúsculas, pero algunos sitios web esperan que esté en minúsculas y devuelven un error si no lo está:
Normalización de ruta
Algunas páginas devolverán códigos de error enviando datos URLcodificados en la ruta, sin embargo, el servidor de caché URLdecodificará la ruta y almacenará la respuesta para la ruta URLdecodificada:
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:
Referencias
Última actualización