saltar al contenido
volver al mapa
técnica de prueba
etapa: staging
2 min de lectura

DAST

Ataca la aplicación en ejecución como lo haría un usuario malintencionado, sin ver el código.

OWASP ZAPBurp SuiteNuclei

Qué es

(Dynamic Application Security Testing) prueba la aplicación en ejecución, de afuera hacia adentro, en caja negra: el scanner envía solicitudes maliciosas y observa las respuestas, como lo haría un atacante, sin acceso al código fuente.

Al operar sobre el sistema real ya ensamblado, el DAST valida lo que el no ve: configuración del servidor, headers HTTP, autenticación, sesión y la interacción entre componentes.

Cómo funciona

  • crawling: un spider mapea los endpoints, formularios y parámetros de la aplicación
  • fuzzing: cada entrada descubierta recibe payloads de ataque (, , path traversal, SSRF)
  • análisis de respuesta: el scanner verifica si el ataque se reflejó, se ejecutó o filtró información
  • chequeos pasivos: headers ausentes, cookies sin flags, versiones expuestas

Un ataque en la práctica

El scanner encontró un parámetro id en el crawler. Primer paso: la prueba clásica de SQL injection, cerrar la comilla e insertar una condición siempre verdadera. Lo que envía el scanner:

solicitud de pruebahttp
GET /users?id=1'%20OR%20'1'='1 HTTP/1.1
Host: tienda.ejemplo.com

Qué delata la falla

La firma del SQLi está en la respuesta: en lugar de un usuario, volvieron todos, porque la condición inyectada pasó a ser parte de la query. El scanner compara esa respuesta con la baseline del parámetro original y concluye: inyectable.

respuesta (200 OK)http
200 OK
[ {"id": 1, "nombre": "Ana"}, {"id": 2, "nombre": "Beto"},
  {"id": 3, "nombre": "Caio"}, ... ]   <- todos los usuarios

Cuando no hay eco: inyección ciega

No siempre la respuesta devuelve los datos, y los engines modernos esconden el error. Para esos casos, el scanner usa inyecciones ciegas e infiere por el comportamiento. Un retraso controlado es la evidencia:

inyección ciega basada en tiempohttp
GET /users?id=1'%20AND%20SLEEP(5)--  HTTP/1.1

con el payload:  respuesta en 5,2 s
sin el payload:  respuesta en 0,1 s
                  => la base ejecutó el SLEEP: inyectable a ciegas

Dónde entra en el pipeline

Después del deploy en staging o preview: el pipeline levanta el entorno y apunta el scanner hacia él, fallando ante hallazgos críticos. Los scans programados contra producción cubren lo que cambia fuera del ciclo de release.

Puntos fuertes y limitaciones

  • fuerte: reporta lo que realmente es explotable, con un falso positivo bajísimo, porque solo afirma lo que provocó
  • fuerte: agnóstico al lenguaje, porque prueba HTTP, no código
  • débil: solo ve la superficie expuesta; el código sin ruta accesible queda fuera
  • débil: lento y tardío, encuentra después del deploy, cuando corregir ya cuesta
DASTPrueba dinámica: ataca la aplicación en ejecución, desde afuera, en caja negra.ver en el glosario →SASTAnálisis estático: examina el código sin ejecutarlo. Encuentra problemas por análisis de flujo, no por adivinación.ver en el glosario →SQL injectionSQLiLa entrada concatenada en una cadena SQL se interpreta como parte de la consulta. Las consultas parametrizadas envían los valores por separado y eliminan el problema.ver en el glosario →XSScross-site scriptingInyección en una página web: la entrada no confiable se renderiza como HTML o script en el navegador de otro usuario. Haz escape en la salida según el contexto y agrega una Content-Security-Policy.ver en el glosario →

conexiones en el mapa

actualizado el 14/10/2026 · fuentes para profundizar · reportar un error

en otros dominios

Estudia antes

Desbloquea

pon a prueba lo que entendiste

Cargando preguntas…