🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónControl de acceso roto e IDOR
4 tareas · 25 min · Principiante
El control de acceso roto es el fallo que no se ve mirando una pantalla bonita: la aplicacion carga un recurso por su identificador y se olvida de preguntar si quien lo pide tiene derecho a el. En Clavenet las facturas se sirven por su id de la URL sin comprobar al dueno, y un registro lo confirma. El auditor localiza el control ausente en el codigo y lo prueba con la evidencia del log; no explota nada.
Objetivo de la sala
El control de acceso roto es el fallo que no se ve mirando una pantalla bonita: la aplicacion carga un recurso por su identificador y se olvida de preguntar si quien lo pide tiene derecho a el. En Clavenet las facturas se sirven por su id de la URL sin comprobar al dueno, y un registro lo confirma. El auditor localiza el control ausente en el codigo y lo prueba con la evidencia del log; no explota nada.Un control de acceso correcto tiene dos pasos: saber quien eres (sesion) y comprobar que esto en concreto es tuyo (autorizacion). En factura.php de Clavenet hay sesion, pero falta el segundo paso: se busca la factura por $_GET['id'] y se devuelve sin comprobar que pertenezca al usuario en sesion. El auditor lo ve por lo que NO esta: no hay ninguna linea que compare el dueno de la factura con quien pregunta. El propio codigo lo deja anotado como comentario del arreglo que falta.
Leer lo que falta es mas dificil que leer lo que sobra. La pista es que entre buscar la factura y devolverla no hay ninguna comprobacion.
Esta tarea se hace en el laboratorio
Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
En factura.php, cual es el fallo?
Ver pista de ayuda
Hay sesion, pero falta la comprobacion de que el recurso es del usuario.
El control ausente deja huella en los registros. En el acceso.log de Clavenet el usuario 1001 pide varias facturas por su id —7781, 7782— y el servidor responde 200, aunque esas facturas son de otros usuarios. Para el auditor ese patron confirma el fallo: un mismo usuario accediendo a recursos que no son suyos y el servidor sirviendolos sin rechistar. Es una referencia directa a objeto insegura, lo que se llama IDOR.
El log no es un ataque: es la prueba estatica de que el control no existe, exactamente lo que el informe necesita mostrar.
Esta tarea se hace en el laboratorio
Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
Que confirma el acceso.log de Clavenet?
Ver pista de ayuda
Fijate en el usuario que pide y de quien son las facturas que recibe.
La clasificacion guia el arreglo. Este fallo es una referencia directa insegura a objeto (CWE-639), de la familia de la autorizacion ausente (CWE-862). El arreglo no es ocultar el id ni hacerlo mas dificil de adivinar —eso solo lo disimula—, sino comprobar en el servidor, antes de devolver el recurso, que pertenece al usuario en sesion. Un identificador no secreto deja de importar cuando el servidor verifica la propiedad.
Cambiar los ids por numeros al azar es la trampa clasica: parece un arreglo y solo retrasa al que prueba ids.
Esta tarea se hace en el laboratorio
Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
Que arreglo recomiendas para Clavenet?
Ver pista de ayuda
El arreglo bueno verifica la propiedad, no esconde el identificador.
La nota de triaje de Clavenet recoge el fallo: el archivo, el parametro, la clasificacion y el arreglo. Abrela en el laboratorio y lee el codigo del hallazgo con el que cierra.
Esta tarea se hace en el laboratorio
Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
Abre la nota de triaje de Clavenet (carpeta auditoria) y escribe el codigo del hallazgo que la cierra.
Ver pista de ayuda
Ultima linea de auditoria/hallazgo.txt.
Preparando el escritorio…
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.