Lección 4 de 7 · 13 min
Autenticación y sesiones
Al terminar sabrás
13 min- Probar el inicio de sesión contra enumeración de cuentas y fuerza bruta
- Probar la recuperación de contraseña
- Verificar que la sesión se cierre y expire de verdad
Construyes: La lista de chequeo de autenticación de tu producto, con los resultados del laboratorio.
A07: la puerta de entrada
A07:2025 Authentication Failures cubre todo lo que tiene que ver con demostrar quién eres y mantener esa identidad: inicio de sesión, recuperación de contraseña, sesiones. Es de los riesgos que QA puede probar más a fondo, porque casi todo se ve desde la interfaz.
El inicio de sesión
1. Mensajes iguales. Un correo inexistente y una contraseña incorrecta tienen que producir el mismo mensaje, por ejemplo "Correo o contraseña incorrectos". Si los mensajes son distintos, cualquiera puede averiguar qué correos son clientes: es la enumeración de cuentas. Ojo, también se filtra por otras vías: el tiempo de respuesta o el código HTTP.
2. Límite de intentos. Sin límite, un programa puede probar miles de contraseñas. La regla del negocio dice cuántos intentos y por cuánto tiempo se bloquea; QA la prueba completa:
- fallar los intentos permitidos, seguidos;
- verificar que el siguiente intento se rechaza, incluso con la contraseña correcta;
- verificar que después del tiempo de bloqueo se puede volver a entrar.
3. Cómo viaja la contraseña. Nunca en la dirección de la página, siempre por HTTPS. En la pestaña Red se ve en segundos.
La recuperación de contraseña
Es la puerta de atrás, y suele estar menos probada que la de adelante:
- el mensaje es el mismo exista o no el correo: "Si el correo está registrado, te enviamos un enlace";
- el enlace sirve una sola vez y vence;
- al cambiar la contraseña, las otras sesiones abiertas se cierran;
- el enlace no se puede adivinar ni reutilizar para otra cuenta.
La sesión
- Cerrar sesión la invalida en el servidor. La prueba: cerrar sesión y repetir una petición que usaba esa sesión, copiada de la pestaña Red. Tiene que responder 401.
- Expira por inactividad, según lo que defina el negocio.
- Al iniciar sesión se crea una sesión nueva, no se reutiliza la que había antes de entrar.
Lo que encuentras en el laboratorio
La tienda de La Frutería tiene tres bugs en el inicio de sesión, y aparecen todos en la misma pasada:
- uno revela si un correo tiene cuenta;
- uno no bloquea después de los intentos que pide la historia;
- y uno impide entrar con el correo escrito con mayúscula inicial.
El tercero no es de seguridad: es funcional. Pero aparece en la misma prueba, y es un buen recordatorio de que probar seguridad no es cambiar de cabeza, sino sumar preguntas a las que ya haces.
Automatizar lo crítico
Los mensajes iguales y el límite de intentos son reglas estables: buenas candidatas para pruebas automáticas que corran en cada cambio. Una sola prueba que compare los dos mensajes de error evita que un rediseño vuelva a abrir la enumeración de cuentas.
Compruébalo
0/3Responde sin mirar atrás. Verás la explicación al instante.
1. Con un correo que no existe, el login dice 'No existe una cuenta con ese correo'; con uno que existe, 'Contraseña incorrecta'. ¿Qué problema hay?
2. La historia dice que la cuenta se bloquea 15 minutos tras 5 intentos fallidos. ¿Cómo lo pruebas?
3. Cierras sesión y, con el botón Atrás del navegador, vuelves a ver tu perfil y puedes editarlo. ¿Qué está mal?
Reto: autenticación en el laboratorio
En la tienda del laboratorio, encuentra los tres bugs del inicio de sesión: uno que revela cuentas, uno que no protege contra intentos repetidos y uno que impide entrar a una clienta con su propio correo.
Arma tu lista de chequeo de autenticación con al menos ocho puntos y pásala por tu producto.