🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónSAST: leer una traza
5 tareas · 40 min · Principiante
El análisis estático lee el código sin ejecutarlo y, cuando puede, explica cada hallazgo con una traza: el recorrido de un valor desde donde entra hasta donde se usa. Al analista de vulnerabilidades no le toca arreglar el código, le toca entender esa traza lo bastante bien para decidir si merece un ticket y qué evidencia pegarle. En esta sala lees el informe estático de autogestion-socios, una aplicación ficticia de Mutual Taguatinga, en la consola del navegador. No se ejecuta nada contra ningún sistema.
Objetivo de la sala
El análisis estático lee el código sin ejecutarlo y, cuando puede, explica cada hallazgo con una traza: el recorrido de un valor desde donde entra hasta donde se usa. Al analista de vulnerabilidades no le toca arreglar el código, le toca entender esa traza lo bastante bien para decidir si merece un ticket y qué evidencia pegarle. En esta sala lees el informe estático de autogestion-socios, una aplicación ficticia de Mutual Taguatinga, en la consola del navegador. No se ejecuta nada contra ningún sistema.Una traza de análisis estático tiene tres clases de pasos. La fuente es el punto donde un valor entra al programa desde algo que el programa no controla: un parámetro de la petición, un campo leído de la base de datos, un archivo subido. Los pasos intermedios son las líneas por las que el valor viaja: asignaciones, llamadas a funciones, concatenaciones. El sumidero es la línea donde el valor se usa en una operación sensible, por ejemplo armar y ejecutar una consulta, abrir un archivo o escribir en una página.
Un hallazgo de flujo existe cuando la herramienta encuentra un camino de la fuente al sumidero sin un paso que neutralice el valor. Por eso la traza es la evidencia: sin ella solo tienes el nombre de una regla y un número de línea.
Responde para continuar
En una traza de análisis estático, ¿qué es el sumidero?
Ver pista de ayuda
Consulta la tabla traza y fíjate en el rol de la última fila de SA-101.
Para saber qué controla un atacante en la práctica hay que mirar la fuente. Si la fuente es un parámetro que llega de fuera, quien envíe la petición decide su contenido. Si la fuente es un campo de la base de datos, hay que preguntar quién lo pudo escribir antes. Mientras no sepas cuál es, no puedes juzgar la gravedad.
En la consola, la consulta SELECT * FROM traza WHERE hallazgo = 'SA-101' muestra los cinco pasos del primer hallazgo. Lee la columna detalle del paso con rol de fuente.
Responde para continuar
¿Qué parámetro de la petición es la fuente de la traza de SA-101? Escribe solo su nombre.
Ver pista de ayuda
Filtra la tabla traza por hallazgo y mira el detalle del paso 1.
Entre la fuente y el sumidero puede haber un saneador: una función que valida, codifica o restringe el valor para que deje de ser peligroso en ese sumidero. Las herramientas traen listas de saneadores que reconocen. Cuando el equipo escribe el suyo, la herramienta a veces lo muestra en la traza como un paso más y, aun así, reporta el hallazgo.
Que el hallazgo aparezca no significa que el saneador falle, y que haya un saneador no significa que baste. Lo que haces ahora es solo localizarlo: la decisión viene después, con el código y las pruebas del equipo.
Responde para continuar
En la traza de SA-102, ¿qué función aparece con el rol de saneador? Escribe solo su nombre.
Ver pista de ayuda
Consulta la tabla traza filtrando por rol igual a saneador.
La longitud de una traza orienta el trabajo. Una traza corta se revisa en minutos. Una larga atraviesa varios archivos y suele esconder más puntos donde alguien pudo limpiar el valor o donde la herramienta perdió el rastro. Contar los pasos es un primer filtro para repartir la lectura, no una medida de gravedad.
Cuenta los pasos de cada traza del informe y quédate con la mayor.
Responde para continuar
¿Cuántos pasos tiene la traza más larga del informe? Escribe solo el número.
Ver pista de ayuda
Cuenta las filas de la tabla traza que comparten el mismo hallazgo.
No todo hallazgo estático es de flujo. Algunas reglas son de patrón: buscan una forma en el código, como una clave escrita en un archivo o un algoritmo de resumen débil, y no necesitan seguir ningún valor. Esos hallazgos llegan sin traza porque no hay recorrido que mostrar.
Mira la tabla de hallazgos y la de trazas, y localiza cuáles hallazgos no tienen filas en la segunda.
Responde para continuar
SA-103, la clave escrita en config.py, no tiene traza. ¿Por qué?
Ver pista de ayuda
Compara la regla de SA-103 con la de SA-101 en la tabla de hallazgos.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.