La inyección SQL ocurre cuando una aplicación construye consultas SQL combinando directamente texto ingresado por un usuario sin la validación adecuada, permitiendo que un atacante inserte código SQL adicional dentro de esa entrada para alterar el comportamiento original de la consulta, potencialmente accediendo, modificando o eliminando datos sin autorización.
Cómo se previene
La defensa estándar contra este tipo de ataque son las consultas parametrizadas (prepared statements), que separan estrictamente el código SQL de los datos ingresados por el usuario, tratando cualquier entrada siempre como un valor literal y nunca como código SQL ejecutable, sin importar qué contenga esa entrada.
