Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Mensajes de error que enumeran usuarios

5 tareas · 35 min · Principiante

Antes de adivinar una contraseña, a quien ataca le sirve saber qué cuentas existen. Muchas aplicaciones se lo dicen sin querer: con un mensaje distinto, con un código de estado distinto o con una respuesta que tarda más cuando la cuenta existe. Gimnasio Moncholo guardó en preproducción las respuestas de cuatro rutas con una cuenta que existe y otra que no, y te entrega, con autorización escrita, esas respuestas y el código. No se repite ninguna petición: se comparan las parejas.

0 de 5 · 0%

Objetivo de la sala

Antes de adivinar una contraseña, a quien ataca le sirve saber qué cuentas existen. Muchas aplicaciones se lo dicen sin querer: con un mensaje distinto, con un código de estado distinto o con una respuesta que tarda más cuando la cuenta existe. Gimnasio Moncholo guardó en preproducción las respuestas de cuatro rutas con una cuenta que existe y otra que no, y te entrega, con autorización escrita, esas respuestas y el código. No se repite ninguna petición: se comparan las parejas.

Una ruta enumera usuarios cuando su respuesta cambia según exista o no la cuenta. El cambio puede estar en el texto («no hay ninguna cuenta con ese correo»), en el código de estado (404 frente a 401), o en el tiempo: si la aplicación solo deriva el resumen o solo envía el correo cuando la cuenta existe, esa respuesta tarda bastante más. La tercera forma es la que más se escapa en una revisión, porque el mensaje es idéntico.

Para revisarlo se comparan las dos variantes de cada ruta en los tres ejes a la vez. Se mira el ingreso, pero también la recuperación de contraseña y el registro, que suelen olvidarse.

Responde para continuar

En las respuestas guardadas, ¿qué ruta delata la existencia de la cuenta solo por lo que tarda en responder? Escríbela sin el método.

El catálogo de MITRE separa los casos: una diferencia observable en el contenido de la respuesta y una diferencia observable en el tiempo tienen entradas distintas. Elegir bien importa porque el arreglo también es distinto: unificar el mensaje no basta si el tiempo sigue delatando.

Responde para continuar

¿Con qué CWE se clasifica la ruta de la tarea anterior?

Ver pista de ayuda

El texto de las dos variantes es idéntico; lo que cambia es otra cosa.

Igualar el mensaje es una línea de código; igualar el tiempo exige que el camino de una cuenta inexistente haga el mismo trabajo caro que el de una que existe. En el ingreso, eso significa verificar la contraseña contra un resumen derivado con los mismos parámetros que los reales aunque no haya cuenta. En la recuperación, significa no esperar al servidor de correo dentro de la petición: el envío pasa a una cola y la respuesta sale igual en los dos casos.

Abre ingreso-v1.py e ingreso-v2.py y compara qué hace cada uno cuando el correo no existe.

Responde para continuar

¿Cómo se llama el valor que usa la versión nueva para verificar cuando la cuenta no existe? Escríbelo tal como aparece.

En el informe también se dice lo que está correcto, para que el equipo sepa qué patrón copiar. Una ruta está bien cuando sus dos variantes coinciden en mensaje, en código y, dentro del ruido normal, en tiempo.

Responde para continuar

De las rutas guardadas, ¿cuál responde igual en mensaje, código y tiempo exista o no la cuenta? Escríbela sin el método.

El registro tiene un problema propio: no puede aceptar dos cuentas con el mismo correo, así que algo tiene que pasar distinto. La salida habitual es responder siempre lo mismo en pantalla y llevar la diferencia al correo, que solo lee su dueño.

Responde para continuar

¿Qué arreglo quita la enumeración del registro sin permitir cuentas duplicadas?

Ver pista de ayuda

La diferencia tiene que llegar solo a quien controla ese correo.

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