
HotelDruid v3.0.5 è vulnerabile a SQL injection. Un attaccante potrebbe eseguire comandi SQL arbitrari per recuperare dati dai database o addirittura eseguire codice in remoto sul sistema di database di destinazione.
Questa è la mia seconda repo. Non prendetevela con me se non ho spiegato bene.
Descrizione del prodotto: Hoteldruid è un programma open source per la gestione alberghiera (property management software) sviluppato da DigitalDruid.Net.
Descrizione della vulnerabilità: abbiamo scoperto che questa applicazione web consente a qualsiasi utente autenticato, come l'amministratore o qualsiasi altro utente, di iniettare comandi SQL dannosi nel parametro interessato per recuperare dati dai database o addirittura eseguire codice sul sistema di destinazione. Di seguito i passaggi per riprodurre la vulnerabilità e, di nuovo, non prendetevela con me se non ho spiegato bene.
Pagina web interessata: creaprezzi.php Parametro e componente interessati:
inizioperiodo1 fineperiodo1 inizioperiodo2 fineperiodo2 inizioperiodo3 fineperiodo3 inizioperiodo4 &fineperiodo4 inizioperiodo5 fineperiodo5 inizioperiodo6 fineperiodo6 inizioperiodo7 fineperiodo7
Passaggio 1: accedi e vai su creaprezzi.php; la parte evidenziata è il parametro interessato nella GUI.

Passaggio 2: intercetta con BurpSuite e inserisci un payload di base come " '%2b(select*from(select(sleep(5)))a)%2b' ", quindi monitora la risposta. Lo screenshot qui sotto mostra che il server ha restituito la risposta dopo 5 secondi; sembra che possiamo spingerci un po' più in profondità :-).

Passaggio 3: e se salvassimo questo in un file di Burp e lo passassimo a sqlmap? Lo screenshot qui sotto mostra il risultato di sqlmap.

Passaggio 4: possiamo spingerci ancora un po' oltre con il comando sqlmap qui sotto; io ho scelto sql-shell. Lo screenshot qui sotto mostra che possiamo persino eseguire comandi SQL abusando del parametro vulnerabile.

P.S.: i passaggi precedenti sono solo una POC per il vendor; in realtà sono passato da sql-shell a una shell di comandi completa del sistema operativo, ma questo richiederebbe sempre più passaggi e tecniche e penso che vada oltre ciò che la CVE ci chiede di dimostrare.
Lo screenshot qui sotto mostra la versione di HotelDruid.
