Ocurre cuando la aplicación arma la consulta SQL pegando directamente lo que escribió el usuario. Si ese texto incluye comillas o palabras clave de SQL, cambia el sentido de la consulta: se pueden leer tablas que no correspondían, saltar un login o modificar y borrar datos.
🧪Ejemplo
Un login hace Código: text
SELECT * FROM usuarios WHERE user = 'ENTRADA'
. Si alguien escribe Código: text
' OR '1'='1
, la condición siempre es verdadera y la consulta devuelve usuarios sin conocer la contraseña.
🛡Cómo protegerse
Usar consultas parametrizadas (prepared statements) siempre; nunca concatenar datos del usuario en el SQL.
Dar a la cuenta de la base de datos solo los permisos que necesita.
Validar tipos (un id es un número) y mostrar errores genéricos, sin detalles de la base.
⚠Para tener en cuenta
Herramientas como sqlmap automatizan la detección; usalas solo en entornos propios o con autorización por escrito.
Redactado con el asistente Underc0de IA. Actualizado el 07/11/2026. ¿Ves un error o querés sumar algo? Contanos en el foro.