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…
-
Interceptar
-
Modificar
-
Reenviar
-
Volver al navegador
-
Ver resultado
… 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

Aquí veremos:
-
Método (GET/POST)
-
Código de estado
-
URL
-
Tamaño
-
MIME
-
IP del servidor
Burp también permite filtrar, ordenar y buscar solicitudes específicas.
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:
-
HUD → Panel inferior History
-
Interfaz principal → pestaña History

También ofrece filtros y soporte para WebSockets.
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:
-
Selecciónala en el historial
-
Pulsa CTRL+R → enviarla a Repeater
-
(Opcional) CTRL+SHIFT+R → abrir Repeater directamente
-
Edita cualquier parte de la solicitud
-
Haz clic en Send para reenviar
Ejemplo:

Puedes cambiar el método HTTP desde el menú contextual:
Right-click → Change Request Method
⚡ ZAP — Request Editor
En ZAP:
-
Clic derecho sobre la solicitud
-
Open/Resend with Request Editor
-
Editar
-
Send

El editor también permite cambiar el método mediante el menú Method.
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:
-
Panel inferior → History
-
Clic en la solicitud
-
Se abre el Request Editor del HUD
-
Opciones:
-
Replay in Console → ver la respuesta dentro del HUD
-
Replay in Browser → ver la página renderizada
🧪 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;

Ahora vemos la bandera
ip=;cat /flag.txt;
Al reenviar la solicitud:
-
Burp Repeater
-
ZAP Request Editor
-
ZAP HUD
Obtendremos la salida al instante:

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.