¿Qué es la inyección de comandos y en qué se diferencia de otros tipos de ciberataques web?
Los ciberataques a aplicaciones web son amenazas comunes y persistentes que afectan a todos los softwares de este tipo. Por eso, el hacking web es uno de los servicios más demandados de la ciberseguridad. El hacking de aplicaciones web se puede utilizar de manera ética para encontrar fallos de seguridad, reportarlos y determinar su nivel de riesgo.
Para hacer un test de penetración, es decir, una auditoría de seguridad para una aplicación web, es necesario aprender a ejecutar los ciberataques más comunes. De este modo, se puede comprobar si una aplicación tiene ciertas vulnerabilidades o no.
Para aprender cuáles son estos ataques y cómo ejecutarlos, existen herramientas como la lista de OWASP Top 10, que clasifica periódicamente cuáles son los diez principales ciberataques a entornos web. De este modo, sirve como guía para saber qué ataques realizar en un pentest. El tercer ciberataque a aplicaciones web más común es la inyección de código. Por eso, es uno de los ataques que debes aprender a ejecutar como pentester.
La inyección de código, como su nombre indica, se refiere a ejecutar tareas, por medio de comandos, en una aplicación vulnerable. Sin embargo, hay distintos tipos de inyección de código, con diferentes métodos, propósitos y alcances. A continuación, te explicaremos qué es la inyección de comandos y en qué se diferencia de la inyección SQL.
¿Qué es la inyección de comandos?
En ocasiones, las aplicaciones web utilizan el input del usuario para completar datos requeridos, con el objetivo de ejecutar alguna acción en el sistema del servidor. Por ejemplo, esto se puede hacer por medio de la función system(), que sirve para ejecutar comandos Bash directamente en el servidor de una aplicación.
De este modo, en una aplicación vulnerable, un usuario podría concatenar al input esperado por el servidor comandos de Linux para ejecutarlos directamente en este. Así, es posible acceder a información confidencial del sistema o, incluso, ejecutar una reverse shell que le permita al atacante tomar el control total del servidor.
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaLa inyección de comandos es muy similar a la inyección SQL, salvo que en la primera se inyectan comandos de Linux en el servidor, mientras que en la segunda se utiliza el lenguaje de programación para interactuar con bases de datos SQL. Ahora bien, para hacer una inyección de comandos en un servidor no es necesario que toda la aplicación tenga vulnerabilidades. Si solo una de sus páginas contiene el fallo de seguridad adecuado ya es posible hacer este ataque.
Para practicar cómo hacer un ataque de inyección de comandos puedes utilizar entornos de práctica legales de hacking web, como Web For Pentesters, WebGoat o DVWA, entre otros.
Ahora sabes qué es la inyección de comandos y cómo se utiliza en ciberseguridad. Si quieres aprender más sobre técnicas y herramientas de hacking web, en KeepCoding tenemos un curso ideal para ti. Entra a nuestro Ciberseguridad Full Stack Bootcamp y conviértete en un verdadero especialista en tan solo 7 meses. ¿A qué sigues esperando para cambiar tu vida? ¡Pide ahora más información y destaca en el mercado laboral del sector IT!