La inyección de código es un método que utilizan los piratas informáticos para inyectar código malicioso en un sitio web o programa que contiene una debilidad de seguridad. Este código luego cambia todo el sitio web o el programa, o lo destruye, según el código que se haya inyectado. Un ataque de inyección de código ocurre con mayor frecuencia cuando un administrador no agrega reglas que restrinjan el uso de ciertos caracteres que se encuentran en los ataques de inyección. Si bien suele ser malicioso, la inyección de código puede obtener buenos resultados y puede hacerse de forma accidental.
Una inyección de código es un tipo de ataque a la codificación original de un programa o sitio web. El hacker entrará en el espacio digital e insertará un código que permite que la programación malévola ingrese al espacio digital, doblándolo a su voluntad. Inyectar el código puede causar muchos resultados diferentes, como introducir malware, permitir que el pirata informático acceda a información privada, permitir que el pirata informático robe cookies y datos de sesión, o simplemente destruir la codificación original y hacer que el sitio web o el programa sean inútiles.
Una de las formas más sencillas para que un pirata informático ingrese a un espacio virtual es desde un libro de visitas o una función de entrada del usuario. Si el administrador no limita el uso de caracteres o no restringe los caracteres que se usan comúnmente durante una inyección de código, entonces el pirata informático puede escribir el código de inyección. Cuando alguien vea la inyección, ingresará a su computadora y la inyección se propagará. Esta amenaza significa que los administradores deben controlar la entrada de los usuarios con mucho cuidado.
Si bien los ataques de inyección de código casi siempre son maliciosos, existen buenas razones para lanzar uno. Por ejemplo, quizás un programador de software creó un programa que es difícil de actualizar, pero el programa necesita desesperadamente que se reorganice o agregue algo de codificación. En lugar de intentar una actualización regular, que puede llevar mucho tiempo, puede inyectar el nuevo código en el programa. Esto altera rápidamente el código, pero en el buen sentido, agrega o corrige una característica en el programa.
La inyección de código también puede ocurrir por accidente. Si el administrador no limita el uso de caracteres y alguien usa un carácter que tiene un significado especial para el lenguaje de programación, puede causar que el lenguaje se estropee. Esto se debe a que el lenguaje de programación ve al personaje como uno que debería crear una función pero, dado que no hay codificación para esa función, el lenguaje no sabe qué hacer y falla. El sitio web mostrará símbolos erráticos en lugar del sitio web en sí. Si el usuario adjunta un archivo defectuoso por accidente, esto puede causar un problema similar.