Manual de Burp Suite Community Edition

Capítulo 7 · Repeater a fondo

Serie: Burp Suite desde cero  |  unfantasmaenelsistema.com

Con el Bloque B ya sabemos leer el tráfico: interceptarlo, entender un login, un registro, una dirección. Ahora empieza el bloque de herramientas activas -las que se usan para probar hipótesis concretas, no solo para observar. Repeater es la primera y la que más se usa en el día a día: coge una petición, la deja fija, y permite modificarla y reenviarla las veces que haga falta, comparando cada respuesta.

Qué aprenderás en este capítulo

Cómo enviar una petición a Repeater desde cualquier otro sitio de Burp · El flujo básico: editar, enviar, leer la respuesta, repetir · Por qué Repeater es la herramienta correcta para confirmar una hipótesis manual, y cuándo no lo es · Un ejemplo real completo: sobre una búsqueda de productos

1. Enviar una petición a Repeater

Cualquier petición que veas en Burp -en HTTP history, en Intercept, en el Site map- se puede enviar a Repeater con el botón derecho, o con el atajo Ctrl+R. El menú contextual es el mismo desde el que se accede a Intruder, Sequencer, Comparer y Organizer: memorizarlo merece la pena, porque es el punto de partida de todo el trabajo activo en Burp.

El menú contextual de HTTP history: el punto de entrada a Repeater, Intruder, Sequencer, Organizer y Comparer

El menú contextual de HTTP history: el punto de entrada a Repeater, Intruder, Sequencer, Organizer y Comparer

2. El flujo de trabajo: editar, enviar, leer, repetir

Repeater divide la pantalla en dos mitades: Request a la izquierda, completamente editable, y Response a la derecha, que se rellena cada vez que pulsas Send. No hay límite de envíos ni de ediciones -es, literalmente, un editor de texto con un botón que dispara la petición al servidor y muestra lo que vuelve.

Una petición real en Repeater con su respuesta: 304 Not Modified, porque el navegador ya tenía esta misma búsqueda en caché

Una petición real en Repeater con su respuesta: 304 Not Modified, porque el navegador ya tenía esta misma búsqueda en caché

Este ejemplo concreto -una búsqueda de productos vacía- ya enseña algo interesante sin cambiar nada: la respuesta es un 304 Not Modified, no un 200. El servidor está diciendo "tu copia en caché sigue siendo válida", algo que se explica por la cabecera `If-None-Match` que el navegador mandó con la petición. Cambiar o quitar esa cabecera en el panel Request y volver a pulsar Send es la forma más rápida de comprobar qué contenido hay realmente detrás del 304.

El atajo que ahorra más tiempo: Ctrl+Enter

Con el foco en el panel Request, Ctrl+Enter envía la petición sin tener que ir a buscar el botón Send con el ratón. Cuando se está iterando rápido sobre una hipótesis -cambiar un valor, enviar, mirar, cambiar otra vez- es la diferencia entre un flujo cómodo y uno tedioso.

3. Cuándo usar Repeater y cuándo no

Repeater es la herramienta correcta cuando la pregunta tiene una respuesta binaria y manual: ¿qué pasa si cambio este valor? ¿Sigue funcionando sin esta cabecera? ¿La respuesta es distinta si uso el ID de otro usuario? Es exploración dirigida por un humano, un envío cada vez.

En cuanto la pregunta necesita muchas variaciones automáticas de un mismo valor -probar 500 identificadores numéricos, una lista de contraseñas comunes, un diccionario de nombres de usuario- Repeater deja de ser práctico. Ese es exactamente el trabajo de Intruder, la herramienta del próximo capítulo.

Conclusión

Repeater es, en esencia, un bucle de edición-envío-lectura que tú controlas a mano. Es la herramienta donde se confirman de verdad las hipótesis que se te ocurren mirando el tráfico en Proxy, y la que más vas a tener abierta en cualquier sesión de trabajo real.

El siguiente capítulo automatiza exactamente ese mismo bucle -edición y envío- para cuando hace falta probar no un valor, sino cientos de ellos.

unfantasmaenelsistema.com | Seguridad, sistemas y todo lo que no debería funcionar (pero funciona)