Inyección de código


La inyección de código es la explotación de un error informático causado por el procesamiento de datos no válidos. La inyección es utilizada por un atacante para introducir (o "inyectar") código en un programa informático vulnerable y cambiar el curso de la ejecución . El resultado de una inyección de código exitosa puede ser desastroso, por ejemplo, al permitir que se propaguen virus o gusanos informáticos .

Las vulnerabilidades de inyección de código ocurren cuando una aplicación envía datos que no son de confianza a un intérprete . Las fallas de inyección se encuentran con mayor frecuencia en SQL , LDAP , XPath , consultas NoSQL , comandos del sistema operativo, analizadores XML , encabezados SMTP , argumentos de programas, etc. Las fallas de inyección tienden a ser más fáciles de descubrir cuando se examina el código fuente que mediante pruebas. [1] Los escáneres y fuzzers pueden ayudar a encontrar fallas de inyección. [2]

La inyección puede resultar en pérdida o corrupción de datos, falta de responsabilidad o denegación de acceso . La inyección a veces puede conducir a la adquisición completa del host.

Ciertos tipos de inyección de código son errores de interpretación, lo que otorga un significado especial a la entrada del usuario. Existen errores de interpretación similares fuera del mundo de la informática, como la rutina de comedia ¿Quién va primero? . En la rutina, no se distinguen los nombres propios de las palabras regulares. Asimismo, en algunos tipos de inyección de código, no se distingue la entrada del usuario de los comandos del sistema.

Las técnicas de inyección de código son populares en el pirateo o descifrado de sistemas para obtener información, escalar privilegios o acceder sin autorización a un sistema. La inyección de código se puede usar de manera malévola para muchos propósitos, que incluyen:

En 2008, el 5,66 % de todas las vulnerabilidades notificadas ese año se clasificaron como inyección de código, el año más alto registrado. En 2015, esto había disminuido a 0,77%. [3]