🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónAutorización en el listado, no solo en el detalle
5 tareas · 38 min · Principiante
Después de un IDOR, casi todos los equipos arreglan la pantalla de detalle: abrir un objeto ajeno por su identificador ya devuelve 403. Pero los mismos objetos salen también por el listado, la búsqueda, los contadores y la exportación. Constructora Furatena te entrega el controlador de actas de su portal de contratistas, dos respuestas guardadas de una cuenta de prueba y un extracto del registro de acceso.
Objetivo de la sala
Después de un IDOR, casi todos los equipos arreglan la pantalla de detalle: abrir un objeto ajeno por su identificador ya devuelve 403. Pero los mismos objetos salen también por el listado, la búsqueda, los contadores y la exportación. Constructora Furatena te entrega el controlador de actas de su portal de contratistas, dos respuestas guardadas de una cuenta de prueba y un extracto del registro de acceso.Un objeto no sale de la aplicación solo por su pantalla de detalle. Sale en listados, en resultados de búsqueda, en el autocompletado, en informes, en exportaciones a hoja de cálculo, en contadores («hay 90 resultados») y en las respuestas de la API que alimentan todo eso. Si la regla «solo los frentes con contrato» se aplica únicamente en el detalle, cada una de esas puertas es un IDOR que no necesita adivinar identificadores: la aplicación los entrega en bloque.
La regla para el auditor es simple de decir: la autorización de un listado va dentro de la consulta. El filtro por relación (los frentes de esta persona) tiene que formar parte de lo que se le pide a la base de datos, antes de paginar y antes de contar. Filtrar después en el código deja páginas vacías y contadores que delatan, y filtrar en la pantalla del navegador no filtra nada.
Responde para continuar
¿Dónde debe aplicarse la regla de acceso en un listado de actas?
Ver pista de ayuda
Piensa en qué pasa con el total y con la página cuando el filtro llega tarde.
Abre actas_controlador.py y compara ver_acta con listar_actas. Después abre contratos-ct.morales.txt para saber qué frente puede ver la cuenta de prueba, y respuesta-listado.json para ver qué recibió. El registro de acceso muestra que el detalle de una de esas actas sí devolvió 403: la regla existe, solo que no en esa puerta.
Responde para continuar
¿Cuántas actas del listado que recibió ct.morales son de frentes en los que no tiene contrato? Escribe solo el número.
La búsqueda de Furatena sí filtra, pero tarde: pide una página a la base, quita lo que la persona no puede leer y devuelve lo que queda junto con un total contado sin ningún filtro. El resultado parece inofensivo, pero el total le cuenta a un contratista cuántas actas de la plataforma hablan de un tema, aunque no pueda abrir ninguna. En una aplicación con datos más sensibles (diagnósticos, investigaciones internas, nombres de clientes) ese contador basta para confirmar que algo existe.
Abre respuesta-busqueda.json y compara los resultados visibles con lo que la respuesta declara.
Responde para continuar
¿Qué cifra de la respuesta de búsqueda delata actas que ct.morales no puede ver?
Las exportaciones suelen escribirse al final, con prisa y pensando en la gerencia, y por eso son la puerta que más se olvida. Busca en el controlador la ruta que no aplica ninguna regla de acceso, ni la de detalle ni la de búsqueda, y confírmalo en registro-acceso.log con el número de filas que se llevó una cuenta de contratista.
Responde para continuar
¿Qué ruta entrega actas sin ningún filtro de autorización? Escríbela sin parámetros.
El equipo propone corregir las tres rutas por separado. Tienes que recomendar algo que también proteja la próxima puerta que se escriba.
Responde para continuar
¿Qué recomiendas?
Ver pista de ayuda
Si cada ruta escribe su propio filtro, la siguiente ruta puede olvidarlo.
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.