En este post vamos a estar resolviendo el laboratorio de PortSwigger: “Blind OS command injection with time delays”.

Página de inicio del laboratorio de PortSwigger

Para resolver el laboratorio, tenemos que ocasionar un delay de tiempo de respuesta en el servidor de 10 segundos. Para ello, haremos uso del OS Command Injection que se encuentra en la función de feedback.

Por lo que nos dirigimos la botón de “Submit feedback”:

Botón Submit feedback en la página

Formulario de feedback con campos a rellenar

Como podemos observar, hay unos cuantos campos a rellenar. Por lo que vamos a rellenarlos:

Campos del formulario completados

Ahora, antes de enviar el feedback. Preparamos el burp suite para que reciba las peticiones:

Configuración del proxy en el navegador

Activación de la interceptación en Burp Suite

Con esto listo, enviamos el feedback para captar la petición:

Envío del formulario de feedback

Petición interceptada en Burp Suite

Esta es la petición que se envía al servidor cuando se envía feedback. Para tratar con ella, la enviamos al repeater pulsando Ctrl R:

Petición enviada al Repeater de Burp Suite

Una vez en el repeater, podemos observar como una petición válida simplemente obtiene una respuesta de estado 200 y no mucho más.

Sin embargo, entre todo los parámetros que se están enviando, vamos a intentar ver si podemos ejecutar un comando en alguno de ellos:

Inyección del comando sleep en el parámetro de mensaje

$(sleep 10)

En el campo del mensaje, podemos escapar un comando para que se ejecute y así causemos un delay de respuesta de 10 segundos en el servidor, que era lo que nos pedía el enunciado.

De esta forma, resolvemos el laboratorio:

Laboratorio completado exitosamente