Interceptar y Reenviar Tráfico HTTP en Burp Proxy

Beginner
Practicar Ahora

Introducción

Burp Suite es una potente plataforma para realizar pruebas de seguridad de aplicaciones web. Una de sus herramientas más fundamentales es Burp Proxy, que le permite interceptar, inspeccionar y modificar el tráfico entre su navegador y un servidor web.

En este laboratorio, aprenderá el flujo de trabajo básico para usar Burp Proxy. Habilitará el modo de intercepción, realizará una solicitud desde un navegador web, verá la solicitud HTTP capturada en Burp Suite y luego la reenviará al servidor de destino. Esta habilidad es la base para casi todas las tareas de prueba de aplicaciones web realizadas con Burp Suite. El entorno de laboratorio tiene Burp Suite y un navegador preconfigurado listo para que lo use.

Habilitar el modo de intercepción en la pestaña Proxy > Intercept

En este paso, iniciará Burp Suite y habilitará la función de intercepción, que es el primer paso para capturar el tráfico web.

Primero, inicie la aplicación Burp Suite. Puede encontrar su icono en el escritorio.

  1. Haga doble clic en el icono Burp Suite Community Edition en el escritorio.
  2. Puede aparecer un cuadro de diálogo titulado "Project". Seleccione Temporary project y haga clic en Next.
  3. Puede aparecer otro cuadro de diálogo "Burp configuration". Seleccione Use Burp defaults y haga clic en Start Burp.

Una vez que Burp Suite se haya cargado, deberá navegar a la herramienta Proxy y habilitar la intercepción.

  1. Haga clic en la pestaña Proxy en la parte superior de la ventana.
  2. Dentro de la pestaña Proxy, asegúrese de estar en la subpestaña Intercept.
  3. Verá un botón que dice Intercept is off. Haga clic en este botón para habilitar la intercepción.

El texto del botón cambiará a Intercept is on, y aparecerá presionado. Esto indica que Burp Proxy ahora está listo para capturar cualquier solicitud realizada por el navegador configurado.

Ahora que la intercepción está habilitada en Burp Suite, realizará una solicitud desde el navegador web. Burp Proxy capturará esta solicitud antes de que llegue al servidor. El navegador en este entorno de laboratorio ya está configurado para enviar su tráfico a través de Burp Proxy.

  1. Abra el navegador web Firefox. Puede encontrar su icono en el escritorio o en el panel de aplicaciones.
  2. En la barra de direcciones en la parte superior del navegador, escriba la siguiente URL y presione Enter:
http://127.0.0.1:8000

Después de presionar Enter, notará que la pestaña del navegador muestra un icono de carga, pero la página no se carga. Este es el comportamiento esperado. La solicitud se ha enviado desde el navegador pero ahora está "atascada" en Burp Proxy, esperando a que la inspeccione y la reenvíe.

Ver la solicitud interceptada en Burp Suite

En este paso, volverá a Burp Suite para ver la solicitud HTTP que acaba de realizar desde el navegador.

Regrese a la ventana de Burp Suite. La pestaña Proxy > Intercept, que anteriormente estaba vacía, ahora contiene la solicitud HTTP completa que su navegador envió.

Verá el texto de la solicitud sin procesar (raw), que se ve algo así:

GET / HTTP/1.1
Host: 127.0.0.1:8000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1

Tómese un momento para examinar las diferentes partes de la solicitud:

  • Línea de solicitud (Request Line): GET / HTTP/1.1 muestra el método, la ruta y la versión de HTTP.
  • Cabeceras (Headers): Líneas como Host y User-Agent proporcionan información adicional al servidor sobre la solicitud y el cliente que la realiza.
  • Cuerpo (Body): Para una solicitud GET como esta, el cuerpo está vacío.

Esta vista es fundamental para comprender y manipular el funcionamiento de una aplicación web.

Haga clic en el botón 'Forward' para enviar la solicitud al servidor

Después de inspeccionar la solicitud, la siguiente acción es permitir que continúe hacia su destino previsto, que es nuestro servidor web local.

En la pestaña Proxy > Intercept en Burp Suite, verá varios botones en la parte superior del panel de solicitud: Forward, Drop, Action, etc.

  1. Haga clic en el botón Forward.

Después de hacer clic en Forward, la solicitud desaparecerá de la vista de Intercept. Burp Suite ha enviado la solicitud al servidor en 127.0.0.1:8000.

Ahora, vuelva a su navegador Firefox. La página debería cargarse y verá el texto "Welcome to the LabEx Test Page!". Esto confirma que la solicitud se reenvió correctamente al servidor y la respuesta del servidor se envió de vuelta y fue renderizada por el navegador.

Desactivar el modo de interceptación para permitir que el tráfico fluya libremente

Finalmente, aprenderá cómo desactivar el modo de interceptación. Es crucial desactivar la interceptación cuando no esté inspeccionando activamente el tráfico; de lo contrario, toda su navegación se bloqueará.

  1. Regrese a la ventana de Burp Suite y asegúrese de estar en la pestaña Proxy > Intercept.
  2. Haga clic en el botón Intercept is on.

El texto del botón cambiará a Intercept is off y ya no aparecerá presionado. Ahora, Burp Proxy permitirá que todo el tráfico pase sin detenerse para su inspección.

Para confirmar esto, regrese al navegador Firefox y actualice la página (puede presionar F5 o el botón de recargar). La página se recargará instantáneamente, sin ningún retraso, porque la solicitud ya no está siendo retenida por Burp Suite.

Resumen

En este laboratorio, ha aprendido con éxito el flujo de trabajo fundamental para usar Burp Proxy para interceptar y reenviar tráfico HTTP.

Ha practicado las siguientes habilidades clave:

  • Habilitar y deshabilitar el modo de interceptación en la pestaña Proxy > Intercept.
  • Capturar una solicitud HTTP en vivo de un navegador mientras se está realizando.
  • Ver el contenido sin procesar de una solicitud interceptada para comprender su estructura.
  • Reenviar la solicitud al servidor para permitir que la comunicación se complete.

Esta habilidad básica es la base para técnicas de prueba de seguridad web más avanzadas, como la modificación de solicitudes y respuestas para probar vulnerabilidades.