BurpSuite/ZAP: Aprendiendo a Utilizar Proxies Web

1. Introducción

Hoy vamos a sumergirnos en el apasionante mundo de los Proxies Web, esas herramientas esenciales que actúan como “hombre en medio” (MITM) para interceptar, modificar y volver a reproducir tráfico HTTP/HTTPS entre tu navegador (o aplicación móvil) y el servidor de destino. Veremos cómo instalar y configurar dos de las herramientas más populares —Burp Suite y OWASP ZAP—, cómo capturar y manipular solicitudes y respuestas, automatizar cambios, repetir peticiones, trabajar con codificadores/decodificadores, usar proxies en herramientas de CLI, y por último haremos un repaso de los fuzzers web integrados en cada una.


2. ¿Por qué usar un Proxy Web?

Las aplicaciones modernas dependen de servidores back-end para procesar datos. Un proxy web se interpone entre cliente y servidor, capturando todas las solicitudes y respuestas HTTP(S) en los puertos estándar (80/443). A diferencia de un sniffer genérico como Wireshark, un proxy te permite:

  • Ver y modificar cada petición y respuesta.
  • Reproducir solicitudes con cambios de forma instantánea.
  • Automatizar ajustes (por ejemplo, cambiar User-Agent o desbloquear inputs HTML).
  • Integrar fuzzer y escáneres para descubrir vulnerabilidades en web apps .

3. Instalación y primer arranque

3.1 Burp Suite

  1. Descarga desde PortSwigger (Windows/Linux/macOS).
  2. Ejecuta el instalador o, si prefieres el JAR:
java -jar /ruta/a/burpsuite.jar
  1. Al iniciar, elige Temporary ProjectUse Burp DefaultsStart Burp .

La versión Community es gratuita y ya muy completa; la Pro añade escáner activo, Intruder rápido, etc.

3.2 OWASP ZAP

  1. Descarga desde zaproxy.org.
  2. Instala o ejecuta el JAR:
java -jar zaproxy.jar
  1. Al arrancar, opta por un proyecto temporal (no necesitas persistencia) .

Tip: Ambos soportan temas oscuros en sus opciones de Display.


4. Configurar el navegador y los certificados

4.1 Navegador preconfigurado

  • Burp: en la pestaña Proxy → Intercept, haz clic en Open Browser.
  • ZAP: pulsa el icono de Firefox en la barra superior para lanzar el navegador integrado.

4.2 Firefox + FoxyProxy

  1. Instala la extensión FoxyProxy.
  2. Configura un proxy HTTP en 127.0.0.1:8080 (puerto por defecto en ambas herramientas).
  3. Actívalo desde su icono para redirigir todo el tráfico.

4.3 Certificado CA

  • Burp: visita http://burp, descarga CA Certificate.
  • ZAP: en Tools → Options → Dynamic SSL Certificate, haz clic en Save.
  • En Firefox: about:preferences#privacyView CertificatesAuthoritiesImport y confía en identificar sitios.

5. Interceptar y modificar solicitudes

5.1 Capturar peticiones

Activa Intercept en Burp o haz CTRL+B en ZAP HUD. Al navegar, verás la petición detenida para inspección.

Ejemplo: Comando ping

httpCopiarEditarPOST /ping HTTP/1.1
Host: 46.101.23.188:30820
Content-Length: 4
...
ip=1

Normalmente el input ip solo acepta números, pero podemos cambiarlo a ;ls; directamente :

ip=;ls;

Al reenviar, obtendrás la salida del comando ls. Esto demuestra cómo inyectar comandos al manipular parámetros en el proxy .

5.2 Interceptar respuestas

Podemos cambiar HTML antes de que llegue al navegador:

<!-- Original -->
<input type="number" id="ip" ... maxlength="3" ...>

<!-- Modificado -->
<input type="text" id="ip" ... maxlength="100" ... required>

Con esto habilitas cualquier valor y aumentas el maxlength .


6. Modificaciones automáticas (“Match & Replace”)

6.1 En solicitudes

En Proxy → Options → Match and Replace de Burp añade:

  • Type: Request header
  • Match: ^User-Agent.*$
  • Replace:
User-Agent: HackTheBox Agent 1.0
  • Regex match: True .

ZAP ofrece función Replacer (CTRL+R) con opciones equivalentes .

6.2 En respuestas

Para que el campo ip persista como texto, crea otra regla en Burp:

  • Type: Response body
  • Match: type="number"
  • Replace: type="text"
  • Regex match: False

Añade también maxlength="3"maxlength="100" .


7. Repetir peticiones

En HTTP History (Burp) o History (ZAP HUD), selecciona una petición y:

  • Burp: Ctrl+RRepeaterSend.
  • ZAP: botón derecho → Open/Resend with Request EditorSend .

Edita el cuerpo o las cabeceras y vuelve a enviar al instante.


8. Codificación y decodificación

8.1 URL Encode/Decode

  • Burp Repeater: selecciona texto → botón derecho → Convert Selection → URL → URL encode key characters o Ctrl+U.
  • ZAP: codifica automáticamente en segundo plano.

8.2 Otros formatos

Ambas herramientas soportan Base64, HTML, Unicode, ASCII Hex, etc.

Ejemplo Base64

eyJ1c2VybmFtZSI6Imd1ZXN0IiwgImlzX2FkbWluIjpmYWxzZX0=

Decodificado → {"username":"guest","is_admin":false}. Cámbialo a {"username":"admin","is_admin":true} y vuelve a codificar para escalar privilegios .


9. Proxies en herramientas de CLI

9.1 proxychains

Edita /etc/proxychains.conf:

# socks4 127.0.0.1 9050
http 127.0.0.1 8080
quiet_mode

Luego:

proxychains curl http://SERVER_IP:PORT

Verás la cabecera ProxyChains-3.1 al inicio .

9.2 Nmap

nmap --proxies http://127.0.0.1:8080 SERVER_IP -p PORT -Pn -sC

Esto redirige el escaneo HTTP a través del proxy .

9.3 Metasploit

En msfconsole:

use auxiliary/scanner/http/robots_txt
set PROXIES HTTP:127.0.0.1:8080
set RHOST SERVER_IP
set RPORT PORT
run

Ahora todas las peticiones del módulo pasarán por tu proxy .


10. Fuzzing Web

10.1 Burp Intruder

  1. Envía una petición a Intruder (Ctrl+I).
  2. En Positions, marca el segmento a fuzzear con §…§.
  3. En Payloads, elige Simple list o Runtime file, carga un wordlist (e.g., /opt/…/common.txt).
  4. Ajusta Grep – Match a 200 OK para filtrar resultados exitosos.
  5. Start attack y observa /admin u otros endpoints válidos.

10.2 ZAP Fuzzer

  1. Desde el historial, Attack → Fuzz.
  2. Selecciona la palabra a reemplazar (e.g., test).
  3. En Payloads, usa File Fuzzers (incluye wordlists FuzzDB via marketplace).
  4. Añade procesadores como URL Encode.
  5. Lanza con varios hilos y ordena por “Response code = 200” .

11. Escáner Web

11.1 Burp Scanner

Burp Suite Professional incluye un Scanner capaz de realizar:

  1. Crawling (rastreo) automático del sitio: explora todos los enlaces y parámetros.
  2. Passive Scan: analiza en tiempo real cada petición/respuesta interceptada en busca de vulnerabilidades sin enviar tráfico adicional.
  3. Active Scan: lanza ataques activos contra los endpoints descubiertos para identificar problemas como XSS, SQLi, desbordamientos, etc.

Primeros pasos con Burp Scanner

  • Tras configurar tu proxy y navegar con el navegador integrado, ve a la pestaña Target → Site map.
  • Selecciona el host o paths que quieras escanear.
  • Haz clic derecho → Scan → Scan selected items.
  • En el panel Scanner, observa cómo Burp va clasificando cada hallazgo por severidad (High, Medium, Low).
  • Haz doble clic en un hallazgo para ver detalles, prueba de concepto y explicación.

El escáner genera un informe detallado que puedes exportar en HTML, XML o Markdown para compartir con tu equipo.

11.2 OWASP ZAP Scanner

OWASP ZAP ofrece dos componentes principales de escaneo:

  1. Passive Scanner: funciona igual que Burp, revisando tráfico ya capturado.
  2. Active Scanner: realiza ataques activos configurables.

Cómo usar ZAP Scanner

  1. En la vista Sites, selecciona el sitio que has explorado (puede ser tras un fuzzing o navegación manual).
  2. Ve a Attack → Active Scan.
  3. Define el contexto (qué paths incluir/excluir) y el nivel de agresividad.
  4. Pulsa Start Scan y monitoriza progresivamente los resultados en la pestaña Alerts.
  5. Cada alerta incluye: descripción, evidencia (respuesta HTTP), CVE/OWASP links y recomendaciones.

Además, ZAP te permite programar escaneos automáticos desde la línea de comandos con su API:

zap-cli quick-scan --self-contained \
     --start-options '-config api.disablekey=true' \
     http://objetivo.tld

Este comando inicia ZAP en modo “headless”, escanea el dominio y guarda los resultados en /$HOME/.zap/.


12. Reflexiones finales

Tanto Burp Suite como OWASP ZAP son pilares en el testing de seguridad web. Con ellos podrás:

  • Inspeccionar y manipular tráfico.
  • Automatizar cambios repetitivos.
  • Integrar fuzzers y scanners.
  • Probar herramientas de CLI a través del proxy.

Practica estos pasos en entornos controlados (Hack The Box, portales HTB Academy) hasta dominar cada técnica

Comparte esta Publicación en Redes Sociales