Parte: 4 — Seguridad de aplicaciones web · Fuente: The Web Application Hacker's Handbook (Stuttard & Pinto) ⏱️ Duración estimada: 120 min · Nivel: Fundamentos
Instalar, configurar y dominar el flujo de trabajo de Burp Suite, la navaja suiza del pentesting web. Al terminar sabrás interceptar, modificar, repetir y automatizar peticiones HTTP con soltura, la base operativa de casi todas las clases siguientes.
Al finalizar, el alumno podrá:
| # | Tema | Por qué importa |
|---|---|---|
| 1 | Proxy e interceptación | Núcleo del control del tráfico |
| 2 | Certificado CA y HTTPS | Sin él no ves tráfico cifrado |
| 3 | Target, scope y sitemap | Mantiene el trabajo ordenado y legal |
| 4 | Repeater | Prueba manual y precisa de payloads |
| 5 | Intruder | Automatización de fuzzing y fuerza bruta |
| 6 | Decoder y Comparer | Codificación y diffing de respuestas |
| 7 | Extensiones (BApp Store) | Amplían capacidades (JWT, autorize) |
La herramienta central del pentesting web es un proxy de interceptación, y Burp Suite es el estándar de la industria. La idea es sencilla y poderosa: Burp se coloca entre tu navegador y el servidor, de modo que cada petición y cada respuesta pasa por él y se puede ver, pausar, modificar y reenviar. Eso derriba de un golpe la principal barrera de la seguridad web —que la lógica del cliente parece intocable—: con Burp, todo lo que el navegador envía es material moldeable antes de llegar al servidor, así que cualquier validación hecha en el JavaScript se salta editando la petición directamente.
Para interceptar tráfico HTTPS hay un detalle imprescindible: Burp genera su propia autoridad certificadora (CA), y hay que instalar su certificado en el navegador como confiable. Sin eso, el navegador —que hace lo correcto— rechaza la conexión porque ve que alguien se ha interpuesto (es, literalmente, un man-in-the-middle consentido, clase 040). Con el certificado instalado, Burp descifra, muestra y recifra el tráfico de forma transparente.
El Proxy captura el tráfico, pero el trabajo real ocurre en dos módulos. Repeater es el banco de pruebas manual: se envía una petición ahí, se modifica un parámetro, se reenvía y se compara la respuesta —una y otra vez—. Es donde se confirma una inyección SQL a mano, se prueba un IDOR cambiando un identificador, se afina un payload de XSS. Su virtud es el control total y la reproducibilidad: cada prueba es deliberada y se puede repetir exacta.
Intruder automatiza lo que Repeater hace a mano: toma una petición, marca posiciones de inyección y prueba listas de cargas en ellas. Sirve para fuerza bruta, fuzzing de parámetros, enumeración de IDs. Sus modos —Sniper (una posición a la vez), Battering ram (la misma carga en todas), Pitchfork y Cluster bomb (combinaciones)— cubren distintos patrones de ataque. Un aviso: en la edición Community de Burp, Intruder está limitado en velocidad a propósito; el trabajo automatizado serio usa la Professional o herramientas dedicadas.
Decoder codifica y descodifica (URL, Base64, hex, HTML) —imprescindible porque la web codifica datos en todas partes, como en la clase 020—; Comparer resalta diferencias entre dos respuestas, clave para detectar inyecciones ciegas donde el único indicio es un cambio sutil. Y el BApp Store es el catálogo de extensiones que amplían Burp (autorize para probar control de acceso, Turbo Intruder para ataques a alta velocidad, etc.).
Antes de nada se define el target scope: la lista de dominios que se está autorizado a probar. Configurarlo bien no es opcional: limita las herramientas automáticas a lo permitido y evita el error grave de escanear algo fuera de alcance (clase 067). La lección que resume el módulo es que Burp no "hackea" nada por sí solo: es un instrumento de observación y manipulación que amplifica el criterio del analista. Quien entiende HTTP y las vulnerabilidades usa Burp para verificarlas con precisión; quien no, solo genera ruido.
| Término | Definición concisa |
|---|---|
| Proxy de interceptación | Se sitúa entre navegador y servidor para ver y editar el tráfico |
| Burp Suite | Proxy de pentesting web estándar de la industria |
| CA de Burp | Certificado propio que hay que instalar para interceptar HTTPS |
| Interceptar | Pausar una petición para modificarla antes de enviarla |
| Target scope | Dominios autorizados; limita las herramientas automáticas |
| Sitemap | Árbol del contenido descubierto del objetivo |
| Repeater | Reenvío manual y reproducible de peticiones |
| Intruder | Automatiza cargas sobre posiciones marcadas |
| Sniper / Cluster bomb | Modos de Intruder según posiciones y combinaciones |
| Payload | Carga que se prueba en una posición de inyección |
| Decoder | Codifica y descodifica (URL, Base64, hex, HTML) |
| Comparer | Resalta diferencias entre dos respuestas |
| BApp Store | Catálogo de extensiones de Burp |
| Edición Community | Versión gratuita con Intruder limitado en velocidad |
# Exportar el certificado CA: en Burp → Proxy → Options → Import/Export CA cert
# Importarlo en Firefox: Preferencias → Certificados → Ver certificados → Importar
⚠️ Solo contra tus propios laboratorios.
127.0.0.1:8080 (Proxy → Options).Automatiza con Intruder un ataque de fuerza bruta al login de DVWA con una lista de 50 contraseñas y detecta la válida por diferencia en la longitud/código de respuesta. Criterio de aceptación: identificas la credencial correcta a partir de la anomalía en la respuesta y documentas la posición de payload y el filtro usado.
| Síntoma / mensaje | Causa y cómo arreglar |
|---|---|
| "Your connection is not private" | CA de Burp no instalado en el navegador |
| No aparece tráfico | Proxy no configurado o listener apagado |
| Intruder muy lento (Community) | Community limita la velocidad; usa listas pequeñas |
| Se testea fuera de scope | Define y activa el scope antes de escanear |
| Repeater no refleja cambios | Olvidaste pulsar "Send" tras editar |
❓ ¿Community o Professional? Community basta para aprender. Professional añade scanner activo, Intruder sin throttling y Collaborator.
❓ ¿Burp o ZAP? Ambas valen. Burp domina en la industria; ZAP es libre y automatizable. Verás ZAP en la próxima clase.
❓ ¿Cómo evito tocar sistemas ajenos? Define siempre el scope y activa "show only in-scope" y "drop out-of-scope requests".
Clase 087 — OWASP Top 10: panorama general