Una inyección SQL ocurre cuando los atacantes aprovechan una entrada de datos no validada o no filtrada en una aplicación web para insertar comandos SQL maliciosos en una consulta. Esto permite que los atacantes manipulen la consulta original y obtengan acceso no autorizado a la base de datos subyacente.
Por ejemplo, supongamos que una aplicación web permite a los usuarios ingresar su nombre de usuario y contraseña para iniciar sesión. Si la aplicación no valida adecuadamente los datos de entrada, un atacante puede ingresar una cadena maliciosa que altere la consulta SQL y acceda a información confidencial, como contraseñas de otros usuarios o datos sensibles.
Las inyecciones SQL pueden tener consecuencias graves, como el robo o modificación de datos, la eliminación de información crítica o incluso la toma de control completo del sistema de base de datos.
Para protegerse contra las inyecciones SQL, las empresas deben implementar prácticas de desarrollo seguro, como validar y filtrar cuidadosamente los datos de entrada, utilizar parámetros en consultas preparadas o utilizar herramientas y marcos de trabajo que ofrezcan protección contra estas vulnerabilidades.
Definición por OWASP (Open Web Application Security Project) fundación dedicada a determinar y combatir las causas que hacen que el software sea inseguro.