Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Instrumentar la aplicación durante las pruebas

5 tareas · 40 min · Principiante

Entre leer el código en reposo y atacar la aplicación desde fuera hay una tercera vía: mirarla por dentro mientras las pruebas funcionales la usan. Conjuntos Llovizna activó un agente de instrumentación en su entorno de integración durante la batería de pruebas de una noche. Te entrega su configuración, el informe de flujos, el inventario de rutas y los fragmentos de código que el informe señala.

0 de 5 · 0%

Objetivo de la sala

Entre leer el código en reposo y atacar la aplicación desde fuera hay una tercera vía: mirarla por dentro mientras las pruebas funcionales la usan. Conjuntos Llovizna activó un agente de instrumentación en su entorno de integración durante la batería de pruebas de una noche. Te entrega su configuración, el informe de flujos, el inventario de rutas y los fragmentos de código que el informe señala.

Las pruebas de seguridad interactivas, IAST por sus siglas en inglés, ponen un agente dentro del proceso de la aplicación mientras otra cosa la usa: la batería de pruebas funcionales, una persona de calidad, un recorrido automático. El agente marca los datos que entran de fuera (parámetros, cuerpos, cabeceras, archivos) y los sigue por dentro hasta los puntos peligrosos: una consulta SQL, una plantilla, una redirección, una ruta en disco. Si el dato llega sin pasar por algo que reconozca como protección, lo informa con la ruta, el parámetro y la línea.

Frente al análisis estático, ve lo que de verdad se ejecuta, con su configuración y sus librerías, y por eso suele equivocarse menos. Frente al análisis dinámico desde fuera, no adivina por las respuestas: ve el flujo. Pero tiene dos límites que hay que tener presentes al leer su informe. Solo ve el código que las pruebas recorren: una ruta que la batería no toca no aparece, y su silencio no significa nada. Y solo reconoce las protecciones que conoce: una validación propia bien hecha puede salir como flujo sin proteger.

Responde para continuar

¿Qué limita lo que puede informar un agente de instrumentación durante las pruebas?

Ver pista de ayuda

El agente está dentro del proceso; lo que no se ejecuta, no pasa por él.

Abre el laboratorio y lee informe-flujos.txt. Dos flujos salen marcados como vulnerables. Para uno de ellos, fragmentos.py confirma que el parámetro termina pegado a la consulta sin ninguna lista de columnas permitidas.

Responde para continuar

¿Qué flujo lleva un parámetro de la petición a una consulta SQL armada como texto? Escribe su identificador.

Ver pista de ayuda

Mira el sumidero y el saneador visto de cada flujo marcado como vulnerable.

El otro flujo marcado es una redirección. El agente dice que no vio ningún saneador que reconozca. Lee la función que usa esa ruta en fragmentos.py y decide si el destino puede ser algo distinto de una ruta interna fija.

Responde para continuar

¿Qué flujo marcado como vulnerable es un falso positivo, porque el destino se compara contra una lista cerrada de rutas internas? Escribe su identificador.

Ver pista de ayuda

Busca el flujo cuyo sumidero es una redirección.

Compara las rutas que el agente dice haber visto con inventario-rutas.txt. Las que faltan no están limpias: simplemente nadie las ejecutó mientras el agente miraba.

Responde para continuar

¿Cuántas rutas del inventario quedaron fuera de lo que vio el agente?

Ver pista de ayuda

Resta las rutas vistas del total del inventario, o búscalas una a una.

Entre las rutas que el agente no vio está la que exporta residentes y la que cambia la cuenta de recaudo. Lee la nota de configuracion-agente.txt sobre producción.

Responde para continuar

¿Qué propones para las rutas que el agente no vio?

Ver pista de ayuda

Al agente solo le llega lo que algo ejecuta, y la configuración dice dónde puede estar.

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