
Prova de conceito demonstrando injeção SQL no HotelDruid v3.0.5, com etapas para explorar parâmetros vulneráveis para recuperação de dados e execução remota de comandos no banco de dados.
O HotelDruid v3.0.5 é vulnerável a injeção de SQL. Um atacante poderia emitir comandos SQL arbitrários para obter dados em bancos de dados ou até mesmo executar código remoto no sistema de banco de dados alvo.
Este é o meu segundo repositório. Não me julguem se não expliquei bem.
Descrição do produto: Hoteldruid é um programa de código aberto para gestão hoteleira (software de gestão de propriedades) desenvolvido pela DigitalDruid.Net.
Descrição da vulnerabilidade: Descobrimos que esta aplicação web permite que qualquer utilizador autenticado, como administrador ou qualquer outro, injete comandos SQL maliciosos no parâmetro afetado para obter dados em bases de dados ou até mesmo executar código no sistema alvo. Abaixo estão os passos para reproduzir e, novamente, não me julguem se não expliquei bem.
Página Web afetada: creaprezzi.php Parâmetros e Componentes afetados:
inizioperiodo1 fineperiodo1 inizioperiodo2 fineperiodo2 inizioperiodo3 fineperiodo3 inizioperiodo4 &fineperiodo4 inizioperiodo5 fineperiodo5 inizioperiodo6 fineperiodo6 inizioperiodo7 fineperiodo7
Passo 1: Faça login e navegue até creaprezzi.php. A parte destacada é o parâmetro afetado na interface gráfica.

Passo 2: Intercepte com o BurpSuite e insira um payload básico como "'%2b(select*from(select(sleep(5)))a)%2b'" e monitore a resposta. A captura de ecrã abaixo mostra que o servidor retornou a resposta após 5 segundos, parece que podemos avançar um pouco mais :-) .

Passo 3: E se salvarmos isto num ficheiro do Burp e o passarmos para o sqlmap? A captura de ecrã abaixo mostra o resultado do sqlmap.

Passo 4: Podemos explorar um pouco mais com o comando sqlmap abaixo. Escolhi sql-shell. A captura de ecrã abaixo mostra que podemos até executar comandos SQL abusando do parâmetro vulnerável.

PS: Os passos acima são apenas uma POC para o fornecedor. Na verdade, subi de sql-shell para uma shell de comandos do sistema, mas isso pode exigir mais e mais passos e técnicas envolvidas, e acho que isso está além do que o pedido CVE nos pediu para demonstrar.
A captura de ecrã abaixo mostra a versão do HotelDruid.
