Introducción

Cubrimos la vulnerabilidad de inyección de comandos y cómo la desinfección y validación de entradas son fundamentales para evitar la explotación de esta vulnerabilidad.

Para empezar, primero comprendamos qué es la inyección de comandos. La inyección de comandos es el abuso del comportamiento de una aplicación para ejecutar comandos en el sistema operativo, utilizando los mismos privilegios con los que se ejecuta la aplicación en un dispositivo. Por ejemplo, lograr la inyección de comandos en un servidor web que se ejecuta como un usuario llamado José ejecutará comandos bajo este José usuario – y por lo tanto obtener los permisos que José tiene.

Obtenga notas del certificado OSCP

Una vulnerabilidad de inyección de comandos también se conoce como “ejecución remota de código” (RCE) porque un atacante puede engañar a la aplicación para que ejecute una serie de cargas útiles que proporciona, sin acceso directo a la máquina misma (es decir, un shell interactivo). El servidor web procesará este código y lo ejecutará bajo los privilegios y controles de acceso del usuario que ejecuta esa aplicación.

La inyección de comandos también se conoce como “ejecución remota de código” (RCE) debido a la capacidad de ejecutar código de forma remota dentro de una aplicación. Estas vulnerabilidades suelen ser las más lucrativas para un atacante porque significa que el atacante puede interactuar directamente con el sistema vulnerable. Por ejemplo, un atacante puede leer archivos, datos y cosas de esa naturaleza del sistema o del usuario.

Por ejemplo, poder abusar de una aplicación para realizar el comando quién soy enumerar qué cuenta de usuario está ejecutando la aplicación será un ejemplo de inyección de comando.

La inyección de comandos fue una de las diez vulnerabilidades principales reportadas por el informe de inteligencia AppSec de Contrast Security en 2019. (Contraste Seguridad AppSec., 2019). Además, el marco OWASP propone constantemente vulnerabilidades de esta naturaleza como una de las diez principales vulnerabilidades de una aplicación web (Marco OWASP).

Preguntas y respuestas del desafío

¿Qué variable almacena la entrada del usuario en el fragmento de código PHP en esta tarea?

Qué HTTP ¿Se utiliza este método para recuperar datos enviados por un usuario en el fragmento de código PHP?

Si quisiera ejecutar el identificación comando en el fragmento de código de Python, ¿qué ruta tendría que visitar?

¿Qué carga útil usaría si quisiera determinar con qué usuario se ejecuta la aplicación?

¿Qué herramienta de red popular usaría para probar la inyección de comandos ciegos en un linux ¿máquina?

¿Qué carga útil usaría para probar un ventanas ¿Máquina para inyección de comando ciego?

¿Cuál es el término para el proceso de “limpieza” de la entrada del usuario que se proporciona a una aplicación?
¿Con qué usuario se ejecuta esta aplicación?

¿Cuáles son los contenidos de la bandera ubicada en /home/tryhackme/flag.txt?

Tutorial en vídeo

Acerca del Autor

Creo notas de ciberseguridad, notas de marketing digital y cursos online. También brindo consultoría de marketing digital que incluye, entre otros, SEO, Google y meta anuncios y administración de CRM.

Ver Artículos