Credentials exposed in URLs
Credenciales expuestas en las URL
Descripción
Las credenciales en las URL se pueden almacenar en diferentes lugares, incluyendo el dispositivo del usuario, el servidor web y cualquier servidor proxy directo o inverso que se encuentre entre los dos endpoints. Las URL también se pueden mostrar en pantalla, guardar como marcadores o enviarse por correo electrónico por los usuarios. Pueden divulgarse a terceros a través del encabezado Referer cuando se sigue algún enlace fuera del sitio. Colocar tokens de sesión en la URL aumenta el riesgo de que sean capturados por un atacante.
Recomendación
Para evitar la fuga de credenciales en los registros de la aplicación o en los registros de los servidores backend, considere lo siguiente:
- Evitar almacenar credenciales en las URL: Evite colocar información confidencial, como tokens de sesión, directamente en las URL siempre que sea posible.
- Utilizar una gestión de sesión segura: Implemente técnicas de gestión de sesión seguras que no dependan de la incorporación de credenciales en las URL. En su lugar, utilice métodos como cookies de sesión con configuraciones de seguridad adecuadas.
- Cifrar datos confidenciales en tránsito: Emplee protocolos de cifrado como HTTPS para garantizar que los datos confidenciales, incluidas las URL que contienen credenciales, estén cifrados durante la transmisión entre el dispositivo del usuario y el servidor web.
- Implementar redacción de URL: Implemente mecanismos para redactar u ofuscar automáticamente la información confidencial, como las credenciales, en las URL mostradas en la pantalla o en los registros, con el fin de minimizar el riesgo de exposición.
Enlaces
- CWE-200: Information Exposure
- CWE-598: Information Exposure Through Query Strings in GET Request
- CWE-384: Session Fixation
- CWE-359: Exposure of Private Information ("Privacy Violation")
Estándares
- OWASP_MASVS_L1:
- MSTG_AUTH_3
- OWASP_MASVS_L2:
- MSTG_AUTH_3
- PCI_STANDARDS:
- REQ_2_2
- REQ_6_2
- OWASP_MASVS_v2_1:
- MASVS_AUTH_1
- SOC2_CONTROLS:
- CC_2_1
- CC_4_1
- CC_7_1
- CC_7_2
- CC_7_4
- CC_7_5
- HIPAA_CONTROLS:
- SECURITY252
- SECURITY212
- SECURITY213