Solicitudes Repetidas — Burp & ZAP

En la sección anterior 🔍🕸️ Interceptación de Solicitudes Web logramos evadir la validación de entrada y ejecutar un comando remoto manipulando una solicitud interceptada.
Pero si quisiéramos repetir este proceso para cada nuevo comando…

… sería lento e impráctico.

Por eso existen las herramientas de repetición de solicitudes, que permiten reenviar cualquier solicitud pasada por el proxy sin necesidad de interceptarla de nuevo.


📜 Historial de Proxy

Tanto Burp como ZAP almacenan automáticamente todas las solicitudes y respuestas HTTP.


🧱 Burp Suite

Ruta:

Proxy → HTTP History
Pasted image 20251126182843.png
Aquí veremos:

Burp también permite filtrar, ordenar y buscar solicitudes específicas.

Note

Burp muestra tanto la solicitud original como la solicitud editada si hubo modificaciones.
Puedes alternar entre Original Request y Edited Request desde la cabecera del panel.


⚡ ZAP

En ZAP podemos ver el historial en:

Pasted image 20251126182857.png
También ofrece filtros y soporte para WebSockets.

Info

Los WebSockets son importantes para pruebas avanzadas (actualizaciones en tiempo real, eventos, etc.), pero se salen del alcance de este módulo.


🔁 Solicitudes Repetidas

🧱 Burp Suite — Repeater

Cuando localices una solicitud:

  1. Selecciónala en el historial

  2. Pulsa CTRL+R → enviarla a Repeater

  3. (Opcional) CTRL+SHIFT+R → abrir Repeater directamente

  4. Edita cualquier parte de la solicitud

  5. Haz clic en Send para reenviar

Ejemplo:

Pasted image 20251126182912.png

Tip

Puedes cambiar el método HTTP desde el menú contextual:
Right-click → Change Request Method


⚡ ZAP — Request Editor

En ZAP:

  1. Clic derecho sobre la solicitud

  2. Open/Resend with Request Editor

  3. Editar

  4. Send

Pasted image 20251126182923.png
El editor también permite cambiar el método mediante el menú Method.

Tip

Puedes cambiar el diseño del editor (solicitud y respuesta en columnas o pestañas).


🛡️ ZAP HUD — Repetir desde el Navegador

Con el HUD puedes repetir solicitudes sin dejar el navegador:

  1. Panel inferior → History

  2. Clic en la solicitud

  3. Se abre el Request Editor del HUD

  4. Opciones:


🧪 Ejemplo: Modificando y Reenviando Comandos

El objetivo es reenviar la misma solicitud /ping cambiando únicamente el parámetro.

La bandera esta en otro lugar hacesmos

ip=;find / -name flag* 2>/dev/null;

{08D6F47F-AD5B-4738-9163-5C55C57F21FD}.png
Ahora vemos la bandera

ip=;cat /flag.txt;

Al reenviar la solicitud:

Obtendremos la salida al instante:

{7E6EC911-1910-429A-B439-E808961EB7C5}.png

Success

Esto permite enumerar y explotar el sistema sin interceptar cada petición desde el navegador.


🔑 Nota Importante: Datos Codificados en URL

En la solicitud anterior el cuerpo es:

ip=;ls;

Este formato es URL-encoded, un estándar fundamental para enviar datos en formularios y parámetros HTTP.

👉 En la siguiente sección veremos cómo funciona esta codificación y por qué es esencial al crear solicitudes personalizadas.