Introducción
Burp Suite es un potente conjunto de herramientas para la prueba de seguridad de aplicaciones web. Una de sus características más útiles es Burp Comparer, una herramienta para realizar una "comparación" visual de dos piezas de datos cualesquiera, como solicitudes o respuestas HTTP. Esto es increíblemente útil para identificar diferencias sutiles que podrían revelar vulnerabilidades, como cambios en tokens de sesión, campos de formulario ocultos o mensajes de error.
En este laboratorio, aprenderá el flujo de trabajo básico para usar Burp Comparer. Capturará dos solicitudes HTTP similares utilizando el Burp Proxy, las enviará a la herramienta Comparer y luego analizará las diferencias resaltadas.
Encontrar dos solicitudes similares en el historial de su Proxy
En este paso, iniciará Burp Suite y un navegador web para generar dos solicitudes de inicio de sesión similares. Estas solicitudes se utilizarán posteriormente para la comparación.
Primero, inicie las aplicaciones necesarias. Puede encontrar tanto Burp Suite como el navegador web Chromium en el escritorio.
- Haga doble clic en el icono de Burp Suite en el escritorio para iniciarlo. Si aparece un cuadro de diálogo, puede usar la configuración predeterminada y hacer clic en
Nexty luego enStart Burp. - Haga doble clic en el icono del Navegador web Chromium en el escritorio.
A continuación, deberá capturar algo de tráfico. Intentaremos iniciar sesión en un sitio web ficticio dos veces con credenciales diferentes.
- En Burp Suite, navegue a la pestaña
Proxyy, dentro de ella, a la sub-pestañaIntercept. Si el botón diceIntercept is off, haga clic en él para que cambie aIntercept is on. - En el navegador Chromium, navegue a la siguiente dirección:
http://www.google.com. Verá que la solicitud se "atasca" en Burp Suite. - Regrese a Burp Suite. Verá la solicitud capturada. Para este laboratorio, no necesitamos modificarla. Simplemente haga clic en el botón
Forwardpara permitir que la solicitud continúe. Repita esto unas cuantas veces hasta que la página de inicio de Google se cargue en su navegador. - Ahora, generemos nuestras solicitudes objetivo. En el navegador, busque "login page example". Haga clic en cualquier resultado que proporcione un formulario de inicio de sesión simple. Para este ejemplo, asumamos que encontró una página e ingresó
user1para el nombre de usuario ypass1para la contraseña. Haga clic en el botón de inicio de sesión. - Regrese a Burp Suite y haga clic en
Forwardpara permitir que pase la solicitud de inicio de sesión. - Vuelva al navegador e ingrese credenciales diferentes, como
user2ypass2, y haga clic en el botón de inicio de sesión nuevamente. - Regrese a Burp Suite y haga clic en
Forwarduna vez más.
Ahora que ha generado el tráfico, puede encontrar las solicitudes en el historial de su proxy.
En Burp Suite, vaya a la pestaña Proxy y luego a la sub-pestaña HTTP history. Aquí verá un registro de todas las solicitudes que han pasado por el proxy. Busque en la lista las dos solicitudes POST a la página de inicio de sesión que utilizó. Estas son las dos solicitudes que compararemos en los siguientes pasos.
Haga clic derecho en la primera solicitud y seleccione 'Send to Comparer'
En este paso, enviará la primera de las dos solicitudes de inicio de sesión a la herramienta Comparer.
Permanezca en la pestaña Proxy -> HTTP history en Burp Suite, donde puede ver la lista de solicitudes capturadas.
- Localice la primera solicitud de inicio de sesión que realizó (por ejemplo, la que contiene las credenciales
user1ypass1). - Haga clic derecho en esa solicitud específica en la lista del historial. Esto abrirá un menú contextual con muchas opciones.
- En este menú contextual, busque y seleccione la opción
Send to Comparer.
Esta acción toma una copia de la solicitud seleccionada y la carga en la herramienta Comparer. La pestaña Comparer en la parte superior de la ventana de Burp Suite ahora debería estar resaltada o cambiar de color, indicando que ha recibido nuevos datos. Puede hacer clic en la pestaña Comparer para confirmar que se ha cargado un elemento.
Haga clic derecho en la segunda solicitud y seleccione 'Send to Comparer'
Ahora, enviará la segunda solicitud de inicio de sesión a la herramienta Comparer. Esto proporcionará el segundo elemento necesario para la comparación.
- Navegue de regreso a la pestaña
Proxy->HTTP history. - Localice la segunda solicitud de inicio de sesión que realizó (por ejemplo, la que contiene las credenciales
user2ypass2). - Haga clic derecho en esta segunda solicitud en la lista del historial.
- En el menú contextual que aparece, seleccione nuevamente
Send to Comparer.
Después de realizar esta acción, la pestaña Comparer ahora contendrá ambas solicitudes. Si cambia a la pestaña Comparer, verá dos elementos listados, listos para ser comparados.
En Comparer, seleccione los dos elementos y haga clic en 'Words' para comparar
Con ambas solicitudes cargadas en Comparer, ahora está listo para realizar la comparación real.
- Navegue a la pestaña
Compareren Burp Suite. - En la parte superior de la interfaz de Comparer, verá una lista de los elementos que ha enviado. Debería mostrar dos elementos.
- Seleccione ambos elementos. Puede hacerlo haciendo clic primero en el primer elemento, luego manteniendo presionada la tecla
Ctrly haciendo clic en el segundo elemento. Ambos deberían estar ahora resaltados. - En la parte inferior de la ventana, verá opciones de comparación. Las dos opciones principales son
WordsyBytes. La comparaciónWordses ideal para datos basados en texto como las solicitudes HTTP porque analiza las diferencias palabra por palabra, lo que hace que la salida sea muy legible. La comparaciónBytesrealiza una diferencia a nivel de byte, que es más adecuada para datos binarios. - Haga clic en el botón
Wordspara iniciar la comparación.
Burp Suite procesará ahora las dos solicitudes y preparará una comparación visual lado a lado.
Analice las diferencias resaltadas entre las solicitudes
En este paso final, analizará los resultados de la comparación para comprender qué cambió entre las dos solicitudes.
Después de hacer clic en Words en el paso anterior, el panel principal en la pestaña Comparer se actualizará para mostrar las dos solicitudes lado a lado. Burp Comparer utiliza un sistema de codificación por colores para que las diferencias sean fáciles de detectar:
- Amarillo: Resalta los datos modificados.
- Rosa: Resalta los datos añadidos.
- Azul: Resalta los datos eliminados.
Desplácese por los dos paneles de solicitud. Las barras de desplazamiento laterales también tendrán marcadores de color para ayudarle a saltar rápidamente a las ubicaciones de los cambios.
Debería poder ver claramente las diferencias en el cuerpo de la solicitud. Los valores de los parámetros de nombre de usuario y contraseña (user1 vs. user2 y pass1 vs. pass2) se resaltarán en amarillo, lo que indica que se modificaron.
Dependiendo de la aplicación web, también podría notar otras diferencias. Por ejemplo:
- El encabezado
Content-Lengthpodría ser diferente si los nuevos valores de los parámetros tienen una longitud diferente. - Un encabezado
Cookiepodría haber cambiado si el servidor asignó un nuevo ID de sesión.
Al analizar estas diferencias resaltadas, puede comprender rápidamente cómo responde una aplicación web a diferentes entradas. Esta es una técnica fundamental para descubrir una amplia gama de vulnerabilidades de seguridad.
Resumen
En este laboratorio, ha aprendido el flujo de trabajo fundamental para utilizar Burp Comparer para analizar solicitudes HTTP. Ha generado con éxito tráfico de red, ha aislado dos solicitudes similares de su historial de proxy y las ha enviado a la herramienta Comparer. Al realizar una comparación basada en palabras, pudo identificar visualmente las diferencias exactas entre las dos solicitudes.
Esta habilidad es esencial para muchas tareas de prueba de seguridad web, como el análisis de mecanismos de autenticación, la prueba de manipulación de parámetros y la identificación de posibles puntos de inyección al observar cómo cambia la respuesta de una aplicación con diferentes entradas.
