🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónSesión y autenticación en la API: caducidad, revocación y fuerza bruta
4 tareas · 35 min · Principiante
El control de acceso roto de la sala anterior era sobre recursos: pedir lo que no es tuyo. Hay otra familia de fallos en la API que vive un paso antes, en cómo se maneja la propia sesión: un token que el servidor sigue aceptando después de cerrar sesión, una entrada sin límite de intentos que se puede probar a fuerza bruta. No son fallos de qué recurso devuelve el servidor, sino de cuánto confía en una credencial y durante cuánto tiempo. En esta sala se prueban esos dos casos contra la API de respaldo de Colibrí, con el proxy. La idea sigue siendo la misma de todo el módulo: la frontera es el servidor, y la gestión de la sesión es responsabilidad suya, no del cliente que cierra una pantalla.
Objetivo de la sala
El control de acceso roto de la sala anterior era sobre recursos: pedir lo que no es tuyo. Hay otra familia de fallos en la API que vive un paso antes, en cómo se maneja la propia sesión: un token que el servidor sigue aceptando después de cerrar sesión, una entrada sin límite de intentos que se puede probar a fuerza bruta. No son fallos de qué recurso devuelve el servidor, sino de cuánto confía en una credencial y durante cuánto tiempo. En esta sala se prueban esos dos casos contra la API de respaldo de Colibrí, con el proxy. La idea sigue siendo la misma de todo el módulo: la frontera es el servidor, y la gestión de la sesión es responsabilidad suya, no del cliente que cierra una pantalla.Cierras sesión en Colibrí y, con el proxy, repites una petición usando el token de esa sesión que acabas de cerrar. El servidor responde con normalidad: el token sigue valiendo. Significa que «cerrar sesión» era un gesto del cliente —borrar el token del dispositivo— y que el servidor nunca lo invalidó. Un token que se filtró antes de cerrar sesión sigue sirviendo después, hasta que caduque por su cuenta. Esto enlaza con el almacenamiento: de nada vale guardar el token en el almacén protegido si, una vez fuera, el servidor lo honra para siempre.
La mitigación vive en el servidor: tokens de vida corta y una forma de revocarlos, de modo que cerrar sesión —o detectar un abuso— deje el token muerto de inmediato, sin esperar a que caduque.
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
Repites una petición a la API de Colibrí con un token de una sesión ya cerrada y el servidor la acepta. ¿Qué revela y cómo se cierra?
Ver pista de ayuda
Cerrar sesión en el cliente borra el token del teléfono; si el servidor lo sigue honrando, no cerró nada.
En la API de Colibrí repites la petición de inicio de sesión con contraseñas distintas, una tras otra, y el servidor responde a todas sin frenar ni bloquear la cuenta. Sin un límite de intentos, una cuenta se puede probar a fuerza bruta: se lanzan miles de contraseñas comunes hasta acertar. El fallo no está en la contraseña del usuario, sino en que el servidor no pone ningún coste a equivocarse muchas veces seguidas. Es un fallo de la API, no del cliente: da igual lo que haga la aplicación, el atacante habla directo con el servidor.
La mitigación es del servidor: limitar los intentos por cuenta y por origen, bloquear temporalmente tras varios fallos y registrar el patrón para poder reaccionar.
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
La API de Colibrí acepta intentos de inicio de sesión sin límite. ¿Cuál es el riesgo y dónde se corrige?
Ver pista de ayuda
El atacante no usa la aplicación: pega directo a la API. El límite de intentos lo tiene que poner el servidor.
Los dos casos de esta sala comparten la lección del módulo: la gestión de la sesión no es algo que el cliente pueda garantizar. El cliente puede borrar su token y mostrar una pantalla de inicio de sesión, pero quién tiene una sesión válida, cuánto dura y cuántos intentos se permiten lo decide el servidor en cada petición. Confiar eso al cliente es el mismo error de todo el módulo, trasladado de los recursos a la sesión. El arreglo, también: tratar cada petición como potencialmente manipulada y resolver la confianza en el servidor.
En Colibrí estos hallazgos van al servidor —vida y revocación del token, límite de intentos—, junto a los de control de acceso de la sala anterior. El cliente no cierra ninguno.
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
¿Por qué la caducidad del token y el límite de intentos son responsabilidad del servidor y no del cliente en Colibrí?
Ver pista de ayuda
El cliente borra su token y pinta una pantalla; la sesión de verdad la sostiene el servidor en cada petición.
Abre el laboratorio y prueba contra la API de Colibrí la petición con el token de una sesión ya cerrada. Comprueba que el servidor la sigue aceptando: junto a la revisión de esa prueba hay un código de la sala. Escríbelo tal cual.
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
Repite la petición con un token de sesión ya cerrada; en la prueba donde el servidor la acepta, escribe el código de la sala anotado.
Formato esperado: MOV-____
Ver pista de ayuda
El código acompaña a la prueba del token que sigue valiendo tras cerrar sesión, no a la de los intentos de entrada sin límite.
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.