¿Qué es la inyección SQL?
La inyección SQL es un tipo de ataque en el que los delincuentes introducen comandos de base de datos en campos de entrada o parámetros de dirección de una aplicación. Si la entrada no se separa correctamente, la base de datos ejecuta el comando ajeno y revela, modifica o borra datos.

Inyección SQL: definición y causa
Las aplicaciones web suelen guardar clientes, pedidos y contenidos en una base de datos SQL y la consultan con comandos SQL. Si un comando así se construye insertando sin más las entradas del usuario en el texto, un atacante puede alterar la estructura del comando. La base de datos ya no puede distinguir entonces entre código y datos.
La causa es casi siempre la misma: las entradas de formularios, campos de búsqueda, cookies o parámetros de dirección se incorporan sin comprobar a las consultas a la base de datos. La inyección SQL forma parte desde hace años de la categoría «Injection» del OWASP Top 10, aunque la contramedida eficaz se conoce desde hace mucho. Afecta sobre todo a soluciones a medida antiguas y a plugins sin mantenimiento.
Cómo funciona un ataque
En lugar de un término de búsqueda, un atacante introduce un fragmento de texto que altera la consulta original, por ejemplo de modo que una condición sea siempre verdadera. Así pueden eludirse comprobaciones de inicio de sesión, leerse datos de otras tablas o modificarse entradas, en casos extremos incluso borrarlas. Los atacantes comprueban miles de sitios con herramientas automatizadas en busca de estas debilidades; los mensajes de error de la base de datos mostrados sin filtrar les facilitan el trabajo.
- Fuga de datos: se leen datos de clientes, pedidos o credenciales
- Manipulación: se modifican precios, contenidos o cuentas
- Elusión: se aceptan inicios de sesión sin una contraseña válida
- En el peor de los casos: toma de control del servidor de base de datos o de otros sistemas
Ejemplo práctico: el viejo filtro de la tienda
Un comercio especializado opera una tienda web basada en una solución antigua programada a medida. El filtro de productos construye la consulta a la base de datos directamente a partir del parámetro de la dirección. Un atacante modifica el parámetro y puede así recuperar tablas con datos de clientes; el comerciante solo se da cuenta cuando los clientes reciben correos fraudulentos con los datos reales de sus pedidos. El daño: pérdida de confianza, esfuerzo y, posiblemente, obligaciones de notificación.
La solución es puro oficio: las consultas se convierten en sentencias parametrizadas, se restringen los privilegios de base de datos de la tienda y se ocultan los mensajes de error hacia fuera. Un firewall de aplicaciones web ofrece una protección adicional, pero no sustituye la corrección en el código. Tras el incidente queda por aclarar qué datos se vieron afectados.
Medidas de protección y puesta en práctica
La protección más eficaz son las sentencias preparadas (consultas parametrizadas), en las que comando y datos permanecen estrictamente separados. Los ORM y los frameworks modernos las utilizan por defecto, siempre que las consultas no se construyan concatenando texto. Ayudan además la validación de entradas según una lista de valores permitidos, un usuario de base de datos con privilegios mínimos, software actualizado y pruebas de seguridad específicas.
Nano Concepts revisa código y configuraciones con revisiones de código y análisis de vulnerabilidades, corrige fallos en aplicaciones existentes y desarrolla software nuevo según estándares seguros desde el principio. En las soluciones a medida antiguas suele ser aconsejable una modernización gradual en lugar de reparaciones de emergencia permanentes, para que la seguridad no dependa de puntos aislados.
- Construir SQL concatenando entradas del usuario
- Usar un usuario de base de datos con privilegios de administrador para el sitio web
- Mostrar errores detallados de la base de datos en el navegador
- Confiar solo en filtros de entrada («eliminar caracteres especiales»)
- Seguir operando plugins obsoletos y scripts heredados
Preguntas frecuentes sobre Inyección SQL
Mucha, porque puede abrir el acceso directo al conjunto de datos: pueden leerse o modificarse datos de clientes, credenciales y pedidos. Basta una sola entrada vulnerable. Al mismo tiempo, el fallo es evitable si la aplicación está bien programada y las consultas se parametrizan de forma consecuente.
Una revisión de código, un escaneo de vulnerabilidades y una prueba de penetración lo muestran con fiabilidad. Son indicios errores de base de datos en la salida o entradas extrañas en los registros del servidor. Quien use software a medida o plugins antiguos debería hacerlos revisar con regularidad.
Bloquea muchos patrones de ataque habituales y gana tiempo, pero no sustituye la corrección en el código. Los ataques hábilmente camuflados pueden eludir las reglas. La protección fiable son las consultas parametrizadas; el WAF es una capa adicional y no sustituye a una programación limpia.
Los sistemas base se revisan y parchean de forma continua. Los fallos surgen sobre todo por versiones obsoletas, plugins mal programados y extensiones a medida. Por eso son decisivas las actualizaciones oportunas, una selección ajustada de plugins y extensiones comprobadas.
Servicios que encajan

Seguridad web
Detectar y cerrar vulnerabilidades en sitios web, tiendas online, portales de clientes y aplicaciones web a medida.
Más información
Análisis de vulnerabilidades de sitios web
Revisión de seguridad de su sitio web o app web según el OWASP Top 10, con lista de fallos priorizada y corrección.
Más información
Modernización de software
Asumimos sistemas antiguos, los aseguramos y los migramos paso a paso a tecnología moderna, sin interrumpir la operación ni perder datos.
Más informaciónTérminos relacionados
Relevante para estos sectores
Artículos relacionados de la revista

Proteger WordPress: hardening, actualizaciones, plugins y copias
La mayoría de las vulnerabilidades de WordPress están en plugins y temas, no en el núcleo. Cómo reforzar su instalación con permisos claros, un ritmo fijo de actualizaciones, copias probadas y monitorización.
Seguir leyendo
Seguridad web: OWASP Top 10 y checklist pragmática para equipos
La mayoría de las vulnerabilidades siguen patrones conocidos. Con el OWASP Top 10 como guía y una checklist priorizada, cierra las brechas típicas antes de que se conviertan en un problema.
Seguir leyendoTracking conforme al RGPD: consentimiento, flujos de datos y confianza
Tracking y protección de datos no se excluyen: qué servicios requieren consentimiento, cómo documentar los flujos de datos y cómo aplicar la técnica para que cumpla lo que promete su política de privacidad.
Seguir leyendo