Día Cero
Hacking

¿Qué es una inyección SQL? Explicada con un ejemplo sencillo

HackerAcademy1 min de lectura

La inyección SQL es uno de los ataques más viejos de la web y, sorprendentemente, sigue funcionando en 2026. Ocurre cuando una web construye sus consultas a la base de datos pegando directamente lo que escribe el usuario, sin separarlo de las órdenes.

Imagina un formulario de acceso que, por dentro, pregunta a la base de datos algo como: "dame el usuario cuyo nombre es [lo que escribió el usuario] y cuya contraseña es [lo que escribió]". Si el atacante, en el campo de usuario, escribe algo como admin' --, consigue "cerrar" la orden antes de tiempo y comentar la comprobación de la contraseña. Resultado: entra como administrador sin saber la clave. Ese -- es un comentario en SQL: todo lo que va detrás se ignora.

El problema de fondo es de confianza: la aplicación trata el texto del usuario como si fuera parte de la orden, cuando debería tratarlo solo como datos. La solución se llama consultas parametrizadas (o prepared statements): la orden y los datos viajan por separado, así que el nombre de usuario nunca puede convertirse en una instrucción. Es sencillo de aplicar y elimina el problema de raíz.

La inyección SQL es el ejemplo perfecto de por qué en seguridad hay que aprender a la vez a atacar y a defender: entiendes el fallo explotándolo en un laboratorio, y solo entonces comprendes de verdad por qué la defensa funciona.

En HackerAcademy explotas una inyección SQL con tus propias manos en un entorno seguro y luego la corriges, dentro del módulo de seguridad web. Aprender haciendo, no viendo vídeos.

Empieza gratis

Artículos relacionados