En este post vamos a estar resolviendo el laboratorio de PortSwigger: “OS command injection, simple case”.

Portada del laboratorio OS command injection

Para resolver el laboratorio, tenemos que ejecutar el comando whoami en el servidor. Para ello, tenemos que hacer uso del OS Command Injection que se encuentra en la comprobación de stock de los productos.

Por lo que vamos a dirigirnos a un producto cualquiera de la web:

Página de producto en el laboratorio

Dentro del producto elegido, podemos ver como tiene un apartado para comprobar el stock:

Apartado para comprobar el stock del producto

Si damos click:

Resultado de la comprobación de stock

Simplemente, se nos mostrará el stock del producto. Ahora bien, vamos a interceptar la petición que hace el cliente al darle click a este botón, a su vez, preparamos el Burp Suite para recibirla:

Configuración de Burp Suite para interceptar

Activación del intercept en Burp Suite

Preparación para capturar la petición

Petición interceptada en Burp Suite

Una vez interceptada la petición, la mandamos al Repeater pulsando Ctrl + R:

Petición enviada al Repeater

Como vemos, es una petición normal. Sin embargo, vamos a probar a cambiar el valor del storeId:

Modificación del valor storeId

Vemos un error de sh, lo que quiere decir que el valor del storeId se está pasando a un programa de Linux. Sabiendo esto, podemos probar a hacer un OS Command Injection bastante simple:

Ejecución de whoami en el servidor

En este caso, simplemente usando un punto y coma para separar el valor para que se trate como otro comando nos sirve para aislar el comando whoami de lo anterior y que se ejecute. De esta forma, conseguimos resolver el laboratorio:

Laboratorio resuelto