CVE-2021-46075
Título do Exploit: Vehicle Service Management System - 'Múltipla' Elevação de Privilégio Leva a Operações CRUD
Autor do Exploit: SANU P.L
CVE: CVE-2021-46075
CVSS: 7.2 ALTA
Referências:
Descrição:
Existe uma vulnerabilidade de Elevação de Privilégio no Sourcecodester Vehicle Service Management System 1.0. Usuários com conta de staff podem acessar os recursos de administrador e realizar Operações CRUD.
1. Vehicle Service Management System - 'Lista de Usuários' (/admin/?page=user/list) (/admin/?page=user/manage_user)
Exploit:
- Visite o painel de administração http://localhost/vehicle_service/admin
- Acesse a conta de Administrador no Navegador A (Chrome)
- Acesse a conta de staff no Navegador B (Firefox)
- Na conta de Administrador (Chrome), navegue até a seção Lista de Usuários e clique no botão Criar Novo.
- Copie o link de Criar Novo Usuário http://localhost/vehicle_service/admin/?page=user/manage_user
- Na conta de staff (Firefox) não há a seção Lista de Usuários, pois a conta de staff não tinha os direitos de criar um usuário.
- Cole o link copiado no Navegador B (Firefox)
- Agora é possível acessar a página Criar Usuário.
- Preencha os detalhes necessários e clique no botão Salvar.
- Na conta de Administrador (Chrome), navegue até a seção Lista de Usuários http://localhost/vehicle_service/admin/?page=user/list
- O novo usuário foi criado com sucesso.
- A conta de staff pode acessar a página Lista de Usuários e a página Criar Usuário.
- A conta de staff pode criar, ler, atualizar e excluir os usuários.
2. Vehicle Service Management System - 'Lista de Categorias' (/admin/?page=maintenance/category) (/admin/?page=maintenance/manage_category)
Exploit:
- Visite o painel de administração http://localhost/vehicle_service/admin
- Acesse a conta de Administrador no Navegador A (Chrome)
- Acesse a conta de staff no Navegador B (Firefox)
- Na conta de Administrador (Chrome), navegue até a seção Lista de Categorias e clique no botão Criar Novo.
- Copie o link de Criar Nova Categoria http://localhost/vehicle_service/admin/?page=maintenance/manage_category
- Na conta de staff (Firefox) não há a seção Lista de Categorias, pois a conta de staff não tinha os direitos de criar uma categoria.
- Cole o link copiado no Navegador B (Firefox)
- Agora é possível acessar a página Criar Categoria.
- Preencha os detalhes necessários e clique no botão Salvar.
- Na conta de Administrador (Chrome), navegue até a seção Lista de Categorias http://localhost/vehicle_service/admin/?page=maintenance/category
- A nova categoria foi criada com sucesso.
- A conta de staff pode acessar a página Lista de Categorias e a página Criar Categoria.
- A conta de staff pode criar, ler, atualizar e excluir a categoria.
3. Vehicle Service Management System - 'Lista de Serviços' (/admin/?page=maintenance/services) (/admin/?page=maintenance/manage_service)
Exploit:
- Visite o painel de administração http://localhost/vehicle_service/admin
- Acesse a conta de Administrador no Navegador A (Chrome)
- Acesse a conta de staff no Navegador B (Firefox)
- Na conta de Administrador (Chrome), navegue até a seção Lista de Serviços e clique no botão Criar Novo.
- Copie o link de Criar Novo Serviço http://localhost/vehicle_service/admin/?page=maintenance/manage_service
- Na conta de staff (Firefox) não há a seção Lista de Serviços, pois a conta de staff não tinha os direitos de criar um serviço.
- Cole o link copiado no Navegador B (Firefox)
- Agora é possível acessar a página Criar Serviço.
- Preencha os detalhes necessários e clique no botão Salvar.
- Na conta de Administrador (Chrome), navegue até a seção Lista de Serviços http://localhost/vehicle_service/admin/?page=maintenance/services
- O novo serviço foi criado com sucesso.
- A conta de staff pode acessar a página Lista de Serviços e a página Criar Serviço.
- A conta de staff pode criar, ler, atualizar e excluir o serviço.
4. Vehicle Service Management System - 'Configurações' (/admin/?page=system_info)
Exploit:
- Visite o painel de administração http://localhost/vehicle_service/admin
- Acesse a conta de Administrador no Navegador A (Chrome)
- Acesse a conta de staff no Navegador B (Firefox)
- Na conta de Administrador (Chrome), navegue até a seção Configurações.
- Copie o link da seção Configurações http://localhost/vehicle_service/admin/?page=system_info
- Na conta de staff (Firefox) não há a seção Configurações, pois a conta de staff não tinha os direitos de acessar as Configurações.
- Cole o link copiado no Navegador B (Firefox)
- Agora é possível acessar a página Configurações.
- Preencha os detalhes necessários e clique no botão Salvar.
- Na conta de Administrador (Chrome), navegue até a seção Configurações http://localhost/vehicle_service/admin/?page=system_info
- Os detalhes foram atualizados com sucesso.
- A conta de staff pode acessar a página Configurações.
- A conta de staff pode atualizar as Configurações.
Impacto:
Um atacante remoto obtém acesso elevado a recursos que normalmente deveriam estar indisponíveis. Em uma conta de staff, os usuários podem acessar os recursos de administrador e realizar operações CRUD.
Mitigação:
Recomenda-se implementar o seguinte:
- Gerenciamento adequado de contas com privilégios
- Monitorar e gerenciar todas as sessões privilegiadas
- Políticas de senha fortes e seu cumprimento
- Higienizar as entradas do usuário e proteger os bancos de dados