03.-Pruebas de gestión de identidad
4.3.- Pruebas de Gestión de Identidad¶
Las pruebas de gestión de identidad evalúan si la aplicación maneja correctamente la autenticación y autorización de los usuarios, asegurando que cada usuario tenga permisos adecuados según su rol. Además, buscan detectar posibles vulnerabilidades que permitan la enumeración de usuarios o el acceso no autorizado a información sensible.
Gestión de Roles¶
Los aplicativos web suelen implementar una gestión de roles para asignar permisos de manera estructurada y evitar la asignación manual de privilegios a cada usuario.
Objetivo de las pruebas de gestión de roles¶
Se verifica que:
- Los permisos asignados a cada rol sean adecuados, evitando que un usuario tenga más privilegios de los permitidos.
- No sea posible que un usuario de menor nivel (ej. operador) pueda ejecutar acciones reservadas a un administrador.
- No existan escalaciones de privilegios debidas a fallos en la validación de permisos.
Enumeración de Usuarios¶
La enumeración de usuarios ocurre cuando un atacante puede obtener nombres de usuario o direcciones de correo electrónico a partir de las respuestas del sistema.
Formas de detección¶
Se analizan errores y mensajes generados en:
- Formularios de autenticación
- Respuestas diferentes al ingresar un usuario válido o inexistente.
- Mensajes como:
"Usuario no encontrado"
vs."Contraseña incorrecta"
. - Formularios de registro
- Indicaciones de que un correo ya está registrado:
"El correo ya está en uso"
. - Formularios de restablecimiento de contraseña
- Confirmaciones como
"Se ha enviado un correo de recuperación"
permiten confirmar la existencia del usuario.
Impacto de la enumeración de usuarios¶
- Facilita ataques de fuerza bruta y phishing.
- Permite a atacantes mapear cuentas de usuario y planificar ataques dirigidos.
Conclusión¶
Las pruebas de gestión de identidad son esenciales para garantizar que los usuarios tengan los permisos correctos y evitar que información sensible, como nombres de usuario y correos electrónicos, sea accesible a atacantes. Implementar mensajes de error genéricos y validar adecuadamente los permisos minimiza estos riesgos.