# 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.

```http
GET /page?param1=value1&param2=value2
GET /page?param1=value1;param2=value2
```

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é.

```http
Cache-Control: no-cache
Pragma: no-cache
```

## Herramientas

* [Web Cache Vulnerability Scanner (WCVS)](https://github.com/Hackmanit/Web-Cache-Vulnerability-Scanner)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://web.mrw0l05zyn.cl/explotacion/web-cache-poisoning.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
