
Proof-of-concept per CVE-2024-46635: una vulnerabilità di validazione dell'input impropria nell'endpoint API del sistema GongZhiDao che espone informazioni sensibili degli utenti senza autenticazione.
Il sistema GongZhiDao è una piattaforma sviluppata da GongZhiDao. Fornisce soluzioni aziendali che includono gestione utenti, analisi dei dati e funzionalità operative. Tuttavia, è stata scoperta una vulnerabilità di sicurezza in uno degli endpoint API che potrebbe potenzialmente portare all'esposizione di informazioni sensibili degli utenti senza un'autorizzazione adeguata.
Esiste una vulnerabilità nell'endpoint API /oaa/api/AccountMaster/GetCurrentUserInfo del sistema GongZhiDao. Passando %20 (uno spazio codificato tramite URL) al posto del parametro UserNameOrPhoneNumber, l'API risponde con informazioni sensibili degli utenti, inclusi ID account, nome utente e indirizzo email, anche senza un'autenticazione o un'autorizzazione adeguata. Questa convalida impropria dell'input consente agli aggressori di ottenere accesso non autorizzato a dati sensibili.
Lo sfruttamento riuscito di questa vulnerabilità potrebbe portare all'esposizione di dati utente sensibili, tra cui:
Un aggressore potrebbe utilizzare queste informazioni per effettuare ulteriori attacchi, come furto di identità o phishing.
Per sfruttare la vulnerabilità, un aggressore deve inviare una richiesta HTTP GET appositamente predisposta all'endpoint API vulnerabile:
GET /oaa/api/AccountMaster/GetCurrentUserInfo?UserNameOrPhoneNumber=%20 HTTP/2
Questa richiesta restituisce una risposta 200 OK con dati utente sensibili in 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 come inputImplementare una corretta convalida dell'input: Assicurarsi che il parametro UserNameOrPhoneNumber sia adeguatamente sanificato e validato. Input come %20 dovrebbero essere rifiutati.
Controlli di autorizzazione: Implementare meccanismi di autorizzazione adeguati per garantire che solo utenti autenticati e autorizzati possano accedere a informazioni sensibili.
Limitazione della velocità e monitoraggio: Applicare la limitazione della velocità agli endpoint API per prevenire attacchi di forza bruta o automatizzati, e monitorare l'attività API per rilevare modelli di accesso anomali.
Questa vulnerabilità è stata scoperta da hithub.