🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónRedirecciones abiertas y el parámetro de estado
4 tareas · 35 min · Principiante
Todo inicio de sesión delegado termina con una vuelta: el proveedor manda el navegador de regreso a la aplicación. Dos piezas pequeñas gobiernan esa vuelta y las dos se revisan leyendo configuración. La primera es cómo compara el proveedor el destino que pide el cliente con los que tiene registrados. La segunda es el parámetro de estado, que ata la respuesta a la petición que la originó. Lees el registro de clientes de Alimentos Apulo y las cinco peticiones de inicio que su propio equipo anotó en el proxy con cuentas de prueba.
Objetivo de la sala
Todo inicio de sesión delegado termina con una vuelta: el proveedor manda el navegador de regreso a la aplicación. Dos piezas pequeñas gobiernan esa vuelta y las dos se revisan leyendo configuración. La primera es cómo compara el proveedor el destino que pide el cliente con los que tiene registrados. La segunda es el parámetro de estado, que ata la respuesta a la petición que la originó. Lees el registro de clientes de Alimentos Apulo y las cinco peticiones de inicio que su propio equipo anotó en el proxy con cuentas de prueba.Cuando el proveedor devuelve el navegador a la aplicación, la aplicación recibe una respuesta y tiene que decidir si es la suya. El parámetro de estado es un valor que el cliente genera al empezar, guarda asociado a la sesión del navegador y vuelve a recibir al final: si lo que vuelve no es lo que guardó, la respuesta no corresponde a esa petición y se descarta.
Eso es lo que impide que una respuesta de inicio de sesión preparada en otro sitio se cuele en la sesión de alguien y le deje la cuenta de otro vinculada sin que lo note. No sustituye a PKCE, que resuelve otra cosa —atar el código a quien lo pidió—, y por eso se usan los dos.
Responde para continuar
¿Qué comprueba una aplicación con el parámetro de estado?
Ver pista de ayuda
Es un valor que la aplicación se manda a sí misma y espera recibir de vuelta igual.
El proveedor solo debe devolver el navegador a un destino registrado, y la comparación debe ser de la cadena completa. Cuando se compara solo el principio, cualquier dirección que empiece igual pasa el filtro: basta con que exista en la aplicación un camino que lleve a otra parte para que la vuelta acabe donde no debía. La práctica vigente de seguridad de OAuth 2.0 pide comparación exacta y deja como única excepción el número de puerto de las aplicaciones que escuchan en la propia máquina del usuario.
Abre el laboratorio y mira cómo compara el proveedor en cada cliente registrado.
Responde para continuar
Escribe el nombre del cliente cuyo destino de vuelta se compara solo por el principio de la dirección.
Ver pista de ayuda
Ejecuta `SELECT cliente, forma_de_comparacion FROM clientes_registrados` y quédate con la fila distinta de las demás.
De las cinco peticiones que el equipo del cliente anotó, cuatro fueron aceptadas y una rechazada. Entre las aceptadas hay una a la que le faltaba el parámetro de estado, y el proveedor la dejó pasar igual. Eso convierte el parámetro en opcional de hecho, y lo opcional en seguridad acaba desapareciendo.
Vuelve al laboratorio y cruza las dos últimas columnas del registro de peticiones.
Responde para continuar
Escribe el identificador de la petición que fue aceptada aunque le faltaba el parámetro de estado.
Ver pista de ayuda
Ejecuta `SELECT id, cliente, parametro_de_estado, resultado FROM peticiones_observadas` y busca la fila ausente que sí entró.
Los dos defectos son de configuración del proveedor, no de las aplicaciones, y se corrigen en el mismo sitio. La corrección se escribe en el informe como una instrucción concreta que el administrador pueda ejecutar, no como un principio general.
Responde para continuar
¿Qué corrección se escribe para estos dos hallazgos?
Ver pista de ayuda
Las dos piezas que fallaron son el registro de destinos y la exigencia del parámetro; ahí se corrige.
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.