O upload irrestrito de arquivos no recurso de avaliação de hotéis no QloApps versões 1.7.0 e anteriores permite que atacantes remotos não autenticados obtenham execução remota de código.
🎯 Endpoint Afetado
/module/qlohotelreview/default
⚠️ Causa Raiz
A vulnerabilidade existe devido a:
Ausência de validação da extensão do arquivo.
Arquivos enviados sendo executados diretamente pelo servidor.
Nenhuma verificação de autenticação ou autorização imposta no endpoint.
Uma exploração bem-sucedida permite que um atacante:
Execute comandos arbitrários do sistema operacional.
Leia/grave/exclua arquivos sensíveis do servidor.
Acesse credenciais do banco de dados.
Se mova lateralmente para serviços de rede interna.
Comprometa totalmente o servidor de hospedagem.
Esta vulnerabilidade leva a uma perda completa da Confidencialidade, Integridade e Disponibilidade (Tríade CID).
🛠️ Prova de Conceito (PoC) no QloApps versão 1.7.0
Precisamos de um id_order válido e um token Ajax para fazer a requisição ao endpoint vulnerável. Para o id_order, fazemos brute force manualmente começando em 1, ou criamos uma conta de visitante e reservamos um quarto para obter esse id_order. Para o token Ajax, podemos obtê-lo em qualquer página de quarto do hotel.
1. Obtendo o Token Ajax
2. Avalie um hotel e envie nossa shell web image+php projetada.