Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Redirecciones 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.

0 de 4 · 0%

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.

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