Saltar al contenido

Próxima Edición del Bootcamp
4 de mayo de 2026

Inyección SQL

Un ataque de inyección de código que explota vulnerabilidades en aplicaciones web insertando sentencias SQL maliciosas en campos de entrada, permitiendo a los atacantes manipular bases de datos, acceder a datos no autorizados o ejecutar operaciones administrativas.

Autor
Unihackers Team
Tiempo de lectura
4 min de lectura
Última actualización

Por Qué Importa

La inyección SQL ha estado consistentemente entre las vulnerabilidades de aplicaciones web más críticas durante más de dos décadas. A pesar de ser bien conocida y prevenible, SQLi continúa afectando aplicaciones, habilitando brechas de datos que exponen millones de registros.

El impacto de la inyección SQL va mucho más allá del simple acceso a datos. Los ataques exitosos pueden:

  • Extraer bases de datos completas incluyendo contraseñas e información personal
  • Modificar o eliminar datos, causando interrupción operacional
  • Evadir autenticación y suplantar usuarios
  • Ejecutar comandos en el servidor subyacente
  • Pivotar para atacar sistemas de red interna

Algunas de las brechas de datos más grandes de la historia resultaron de inyección SQL, afectando a importantes minoristas, agencias gubernamentales y empresas tecnológicas. La prevalencia continua de esta vulnerabilidad refleja tanto problemas de código heredado como fallos continuos en prácticas de desarrollo seguro.

Para los profesionales de seguridad, la inyección SQL es un área de habilidad fundamental. Los pentesters deben identificar y explotar estas vulnerabilidades; los desarrolladores deben escribir código seguro; y los ingenieros de seguridad deben implementar controles defensivos que capturen lo que el desarrollo omite.

Cómo Funciona la Inyección SQL

La inyección SQL ocurre cuando la entrada del usuario se incorpora en consultas de base de datos sin validación o sanitización adecuada:

Ejemplo de Código Vulnerable

login-vulnerable.php
PHP

Ejecución del Ataque

ataque-sqli.txt
Text

Tipos de Inyección SQL

SQLi In-Band

Los resultados se devuelven directamente en la respuesta de la aplicación.

Basado en UNION: Combina resultados de consulta del atacante con salida de consulta legítima.

inyeccion-union.sql
SQL

Basado en Error: Extrae datos a través de mensajes de error de la base de datos.

basado-en-error.sql
SQL

SQLi Ciego

Sin salida directa visible; los atacantes infieren resultados a través del comportamiento de la aplicación.

Basado en Booleano: Diferentes respuestas basadas en condiciones verdadero/falso.

sqli-ciego-booleano.sql
SQL

Basado en Tiempo: Usa retrasos de base de datos para extraer información.

sqli-basado-tiempo.sql
SQL

SQLi Out-of-Band

Datos exfiltrados a través de canales externos (DNS, solicitudes HTTP).

out-of-band.sql
SQL

Impacto de la Inyección SQL

Exfiltración de Datos

  • Extraer credenciales de usuario, información personal, datos financieros
  • Volcar contenidos completos de bases de datos
  • Acceder a datos a través de múltiples tablas y bases de datos

Bypass de Autenticación

bypass-autenticacion.sql
SQL

Manipulación de Datos

  • Modificar saldos de cuentas o permisos
  • Eliminar registros o eliminar tablas
  • Insertar datos maliciosos

Compromiso del Sistema

  • Ejecutar comandos del sistema operativo (vía xp_cmdshell, etc.)
  • Leer/escribir archivos en el servidor
  • Pivotar a red interna

Técnicas de Prevención

Consultas Parametrizadas (Prepared Statements)

La defensa principal—separa código SQL de datos de usuario.

python-seguro.py
Python
java-seguro.java
JAVA

Validación de Entrada

  • Validar tipos de datos (esperar entero, rechazar cadenas)
  • Lista blanca de caracteres permitidos
  • Rechazar patrones maliciosos conocidos
  • Validar restricciones de longitud

Stored Procedures

stored-procedure.sql
SQL

Defensa en Profundidad

  • Firewall de aplicaciones web (WAF) para detectar patrones de ataque
  • Principio de mínimo privilegio para cuentas de base de datos
  • Deshabilitar funciones innecesarias de la base de datos
  • Cifrar datos sensibles en reposo
  • Pruebas de seguridad regulares y revisión de código
capas-defensa.txt
Text

Probando Inyección SQL

Pruebas Manuales

payloads-prueba.txt
Text

Herramientas Automatizadas

  • SQLMap: Detección y explotación automatizada de inyección SQL
  • Burp Suite: Plataforma de pruebas de seguridad de aplicaciones web
  • OWASP ZAP: Escáner web de código abierto

Conexión Profesional

La experiencia en inyección SQL es valiosa en todos los roles de seguridad. Los pentesters de aplicaciones web regularmente prueban y explotan SQLi; los revisores de código seguro identifican patrones vulnerables; y los ingenieros de seguridad de aplicaciones implementan controles de prevención.

No salary data available.

En el Bootcamp

Cómo Enseñamos Inyección SQL

En nuestro Programa de Ciberseguridad, no solo aprenderás sobre Inyección SQL en teoría. Practicarás con herramientas reales en laboratorios prácticos, guiado por profesionales de la industria que usan estos conceptos a diario.

Cubierto en:

Módulo 10: Pentesting y Hacking Ético

Temas relacionados que dominarás:MetasploitNmapBurp SuiteEscalada de Privilegios
Ver Cómo Enseñamos Esto

360+ horas de formación experta • 94% tasa de empleo