Web cache poisoning
General
1) Identificar parámetros keyed y unkeyed. Determinar cuáles parámetros son utilizados para construir la key de caché (keyed) y cuáles no lo son (unkeyed).
2) Usar un "cache buster" para evitar envenenar a otros usuarios durante las pruebas. Emplear un método que asegure que las pruebas no impacten a otros usuarios, como añadir un parámetro único en cada solicitud.
3) Inyectar el payload en un parámetro unkeyed. Insertar el payload en un parámetro unkeyed para lograr envenenar la caché sin afectar los parámetros keyed.
Fat GET
1) Identificar si el servidor procesa parámetros en el body para solicitudes GET.
2) Verifica si los parámetros incluidos en el body de la solicitud GET tienen algún efecto en la respuesta generada por el servidor y, en particular, si estos parámetros influyen en la respuesta almacenada en la caché.
3) Inyectar el payload en un parámetro del body de la solicitud GET que manipule el contenido de la respuesta para lograr envenenar la caché almacenada.
Parameter cloaking
Parameter cloaking se basa en las diferencias en cómo el servidor y la caché interpretan los parámetros en una solicitud.
1) Identificar discrepancias de la interpretación de parámetros. Enviar solicitudes con variaciones en los parámetros, con el propósito de evaluar posibles diferencias en la manera en que el servidor y la caché procesan e interpretan dichas solicitudes.
2) Identificar parámetros keyed y unkeyed. Determinar cuáles parámetros son utilizados para construir la key de caché (keyed) y cuáles no lo son (unkeyed).
3) Inyectar el payload en un parámetro unkeyed de la solicitud que manipule el contenido de la respuesta para lograr envenenar la caché almacenada, mientras que el servidor interprete el parámetro de manera diferente o lo ignora.
Intentar omitir la caché actual
Incorporación de HTTP headers en la solicitud para intentar omitir la caché web actual y forzar el almacenamiento de nuestra respuesta envenenada en la caché.
Herramientas
Última actualización