Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

SAST: 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.

0 de 5 · 0%

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.

Inicia sesión para registrar tus puntos y progreso en el ranking.

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