SQLiSQL Injection
Definición
Inyección de SQL malicioso en una query backend por concatenación insegura de input de usuario. Permite leer/modificar la base de datos, y a veces RCE vía xp_cmdshell o load_file.
Sigue siendo top 3 OWASP pese a 25+ años de awareness — porque cualquier vista nueva con un ORM mal usado o un raw query escondido lo reintroduce. Variantes: in-band (UNION, error-based), blind (boolean, time-based), out-of-band (DNS exfil).
Impacto: lectura completa de la DB (PII, hashes), bypass de auth (login OR '1'='1'), modificación de datos, ejecución de comandos según el motor (MSSQL xp_cmdshell, MySQL FILE privileges).
Defensa: queries parametrizadas (prepared statements). No 'filtrado de comillas'. ORM bien usado (no .raw()/QueryBuilder con concatenación). Least privilege en el usuario de DB (no DBA para el web app).
