Ho del tempo libero, quindi sto testando varie macchine vulnerabili locali. In una particolare macchina da laboratorio, devi prima ottenere il pannello di amministrazione, quindi utilizzare il comando "inserisci" disponibile e scrivere un file testuale nella directory. Il servizio in background è il controllo del file scritto.
Ho trovato la password del pannello di amministrazione ma non utilizzando SQL injection su SELECT, ma attraverso la connessione a una rete con porta che risolve il nome utente e la password. Ora, per quanto ne so, se ci fosse una vulnerabilità di SQL injection su SELECT, avrei potuto facilmente INTO OUTFILE una particolare colonna nel file di dati, ma questa volta, dovrò usare INSERT dato che l'input viene inviato attraverso il pannello di amministrazione al query mysql. Mi interessa che ci sia un comando o un carico utile equivalente a INTO OUTFILE usando INSERT o qualsiasi altro modo. Sto pensando di utilizzare DATI CARICO MySQL ma non riesco a concludere il mio gira intorno a esso.
La chiamata deve essere fatta in questo modo:
LOAD DATA INFILE 'foo.txt' INTO TABLE t FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES (name, address, city, @skip, state, @skip, ...) [ SET col = <expr>, ... ]
Un'altra cosa, ho caricato il file con successo dal file system usando load_file ('filename') così ho concesso almeno un account utente per la lettura.
Altre informazioni:
Macchina : Linux RS x11 CERT UTIC (laboratorio di test)
Database : MySQL 5.x
Applicazione lingua : PHP
Grazie e cordiali saluti.