Manual de Burp Suite Community Edition
Capítulo 8 · Intruder: automatizar variaciones de una petición
Serie: Burp Suite desde cero | unfantasmaenelsistema.com
Intruder toma una petición base, marca uno o varios puntos como variables, y la reenvía una vez por cada valor de una lista que le des -comparando después las respuestas por longitud, código de estado o tiempo. Es la herramienta que responde a preguntas del tipo "¿cuál de estos 500 valores se comporta distinto?", algo que a mano en Repeater sería impracticable.
Qué aprenderás en este capítulo
Cómo marcar posiciones de payload a mano y automáticamente · Los cuatro tipos de ataque de Intruder y cuándo se usa cada uno · Cómo montar una lista de payloads simple y lanzar el ataque · Qué límites concretos tiene Community Edition frente a Professional, con el aviso real que muestra Burp
Igual que con Repeater, cualquier petición llega a Intruder con el menú contextual o Ctrl+I. La pestaña Positions muestra la petición completa; el botón Auto § marca automáticamente los puntos que Burp identifica como parámetros -valores de cookies, parámetros de la URL, el cuerpo de la petición- delimitándolos con el símbolo `§`.

Auto § ha marcado 5 posiciones: el término de búsqueda y cuatro valores más dentro de las cabeceras
Marcar todo automáticamente rara vez es lo que interesa. Lo habitual es seleccionar a mano solo el trozo de texto que quieres variar -por ejemplo, únicamente el valor del parámetro `q`- y pulsar Add § para marcar solo ese punto, dejando el resto de la petición fija. Cuantas menos posiciones, más simple es interpretar los resultados después.
| Tipo de ataque | Qué hace |
|---|---|
| Sniper | Recorre las posiciones una por una, probando cada valor de una única lista en cada posición por turnos. El más usado con diferencia |
| Battering ram | Pone el mismo valor en todas las posiciones marcadas a la vez, en cada intento |
| Pitchfork | Usa una lista distinta por posición, avanzando todas en paralelo (payload 1 de la lista A con payload 1 de la lista B, luego los segundos, etc.) |
| Cluster bomb | Prueba todas las combinaciones posibles entre las listas de cada posición -crece muy rápido: 3 listas de 10 valores son 1.000 peticiones |
En la pestaña Payloads (panel derecho), el tipo Simple list deja escribir o pegar valores uno por uno. Para este ejemplo, cuatro términos de búsqueda sencillos:

Cuatro payloads cargados (apple, banana, juice, melon): Payload count 4, Request count 20 -4 payloads × 5 posiciones marcadas-
Menos posiciones, menos peticiones
Con 5 posiciones marcadas y 4 payloads, Sniper dispara 20 peticiones -uno por cada combinación posición×payload-, no 4. Si solo interesa el término de búsqueda, marcar una única posición reduce el ataque a exactamente 4 peticiones, mucho más rápido de leer después.
Al pulsar Start attack, Community Edition muestra siempre este aviso antes de arrancar:

El aviso real de Burp: "contains a demo version of Burp Intruder. Some functionality is disabled, and attacks are time throttled."
En la práctica esto se traduce en un ataque notablemente más lento que en Professional -Burp introduce una pausa entre peticiones a propósito- y en algunas opciones de payload avanzadas (generadores de fuerza bruta con reglas complejas, algunos tipos de payload processing) que solo están disponibles en la versión de pago. Para el volumen de este manual -decenas o pocos cientos de peticiones- el límite de velocidad es una molestia menor, no un bloqueo real.
El ataque termina en una tabla con una fila por petición enviada. La columna que más se mira no es Status code, es Length -el tamaño de la respuesta-: una respuesta con un tamaño claramente distinto al resto casi siempre significa que ese payload provocó un comportamiento diferente.

Resultados reales: en la posición 1 (el término de búsqueda), "juice" devuelve Length 12907 frente a los ~663-1307 del resto -encontró muchos más productos-
Este resultado real lo dice todo sobre el método: sin mirar una sola respuesta con detalle, la sola comparación de longitudes ya señala que "juice" fue el término que más coincidencias encontró en el catálogo (tiene sentido, es una tienda de zumos). El mismo principio -ordenar por Length y mirar qué se sale del patrón- es exactamente el que se usa para encontrar, por ejemplo, qué usuario de una lista de 500 nombres es una cuenta real, o qué contraseña de una lista corta funciona contra un login sin protección de fuerza bruta.
Intruder convierte una pregunta con muchas respuestas posibles en una tabla ordenable: marca la posición, carga los valores, lanza el ataque, y deja que la columna Length (o Status code, o un patrón de texto con Grep - Match, una opción que no hemos tocado en este ejemplo) señale la fila distinta.
El siguiente capítulo cierra el bloque de herramientas activas con tres piezas más pequeñas pero igual de útiles: Decoder para transformar datos, Comparer para diferenciar dos respuestas byte a byte, y Sequencer para medir qué tan aleatorio es un token de sesión.
unfantasmaenelsistema.com | Seguridad, sistemas y todo lo que no debería funcionar (pero funciona)