Laboratorio de concientización · Netblue
Cuando una aplicación mete lo que escribes directamente dentro de una consulta a la base de datos, puedes cambiar el significado de esa consulta. Es la inyección SQL. Prueba el login en modo vulnerable y observa cómo ' OR '1'='1 entra sin contraseña — luego activa las consultas parametrizadas y mira cómo deja de funcionar.
| id | usuario | rol | password_hash |
|---|
La defensa principal: la entrada viaja como dato, nunca como parte del código SQL. El motor la trata como texto literal.
Las librerías modernas parametrizan por defecto. Evita construir SQL concatenando strings a mano.
La cuenta de la app solo debe poder hacer lo imprescindible, para limitar el daño si algo falla.
Valida tipos y longitudes, y usa un WAF que bloquee patrones de inyección conocidos como defensa en capas.
Base de datos y login simulados en el navegador. No hay un motor SQL real detrás; la lógica reconoce el patrón clásico de inyección con fines didácticos.