Saltar al contenido
Tipos de ataques 2 min

SQL injection

En una frase

Ataque a bases de datos: el atacante inyecta código SQL malicioso en formularios web, consiguiendo extraer o modificar datos.

Qué es SQL injection

SQL Injection (SQLi) es un ataque a webs vulnerables: el atacante introduce código SQL en campos de formulario (login, búsqueda) que la web ejecuta directamente. Permite leer, modificar o borrar la base de datos.

Cómo funciona

En un campo "usuario" mal validado, el atacante introduce: ' OR 1=1 --. El SQL se convierte en algo como SELECT * FROM users WHERE name = '' OR 1=1 -- (devuelve todos los usuarios). Variantes más complejas extraen contraseñas, tarjetas, etc.

Cómo protegerte

Como usuario: nada que hacer. Como desarrollador: usar prepared statements, ORMs, validación estricta de inputs. Es el ataque #1 del OWASP Top 10.

Datos curiosos

  • Sigue siendo uno de los ataques más comunes (#1 OWASP Top 10 durante años).
  • 90% de webs antiguas tienen alguna vulnerabilidad SQLi.
  • Causó brechas masivas: Sony 2011, TalkTalk 2015, etc.

Preguntas frecuentes

¿Quién es responsable?

El desarrollador de la web. Como usuario, solo puedes evitar webs sospechosas y usar contraseñas únicas.

¿Cómo me protejo?

Usar contraseñas únicas (gestor + 2FA) para que si una web es vulnerada, no afecte a otras cuentas.

¿Está pasado de moda?

No. Sigue siendo común. Los frameworks modernos lo previenen, pero webs antiguas o mal codificadas siguen vulnerables.