Solicitudes repetidas
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
En las secciones anteriores, hemos evitado con éxito la validación de entrada para utilizar una entrada no numérica para lograr la inyección de comandos en el servidor remoto. Si queremos repetir el mismo proceso con un comando diferente, tendríamos que interceptar la solicitud nuevamente, proporcionar un payload diferente, reenviarla nuevamente y, finalmente, verificar nuestro navegador para obtener el resultado final.
Como puedes imaginar, si hiciéramos esto para cada comando, nos llevaría una eternidad enumerar un sistema, ya que cada comando requeriría de 5 a 6 pasos para ejecutarse. Sin embargo, para tareas tan repetitivas, podemos utilizar la repetición de solicitudes para que este proceso sea mucho más sencillo.
La repetición de solicitudes nos permite reenviar cualquier solicitud web que haya pasado previamente por el proxy web. Esto nos permite realizar cambios rápidos en cualquier solicitud antes de enviarla y luego obtener la respuesta dentro de nuestras herramientas sin interceptar ni modificar cada solicitud.
Para comenzar, podemos ver el historial de solicitudes HTTP en Burp
( Proxy>HTTP History
):
En ZAP
HUD, podemos encontrarlo en el panel Historial inferior o en la interfaz principal de ZAP en la pestaña History
inferior también:
Ambas herramientas también proporcionan opciones de filtrado y clasificación para el historial de solicitudes, lo que puede ser útil si tratamos con una gran cantidad de solicitudes y queremos localizar una solicitud específica.
Si hacemos clic en cualquier solicitud del historial en cualquiera de las herramientas, se mostrarán sus detalles:
Una vez que localizamos la solicitud que queremos repetir, podemos hacer clic en [ CTRL+R
] en Burp para enviarla a la pestaña Repeater
y luego podemos navegar hasta Repeater
o hacer clic en [ CTRL+SHIFT+R
] para ir directamente a ella. Una vez en Repeater
, podemos hacer clic en Send
para enviar la solicitud:
En ZAP, una vez que localizamos nuestra solicitud, podemos hacer clic derecho sobre ella y seleccionar Open/Resend with Request Editor
, lo que abriría la ventana del editor de solicitudes, y nos permitiría reenviar la solicitud con el botón Send
para enviar nuestra solicitud:
También podemos ver el menú desplegable Method
, que nos permite cambiar rápidamente el método de solicitud a cualquier otro método HTTP.
Podemos lograr el mismo resultado dentro del navegador preconfigurado con ZAP HUD
. Podemos ubicar la solicitud en el panel inferior Historial y, una vez que hagamos clic en ella, se mostrará la ventana Request Editor
que nos permitirá volver a enviarla. Podemos seleccionar Replay in Console
para obtener la respuesta en la misma ventana HUD
o seleccionar Replay in Browser
para ver la respuesta presentada en el navegador:
Así pues, vamos a intentar modificar nuestra solicitud y enviarla. En las tres opciones ( Burp Repeater
, ZAP Request Editor
, y ZAP HUD
), vemos que las solicitudes son modificables, y podemos seleccionar el texto que queremos cambiar y reemplazarlo por lo que queramos, y luego hacer clic en el botón Send
para enviarlo nuevamente:
Como podemos ver, podríamos modificar fácilmente el comando y obtener instantáneamente su resultado usando Burp Repeater
. Intenta hacer lo mismo en ZAP Request Editor
y ZAP HUD
para ver cómo funcionan.
Por último, podemos ver en nuestra solicitud POST anterior que los datos están codificados en URL. Esto es una parte esencial del envío de solicitudes HTTP personalizadas, que analizaremos en la siguiente sección.
Intente utilizar la repetición de solicitudes para poder probar comandos rápidamente. Con eso, intente buscar la otra flag (no está en el mismo directorio)