non so come spiegarmi al meglio, perciò farò un esempio.
Verso il 2008-2009 (non ricordo di preciso) venne scoperta una vulnerabilità che permetteva tramite la funzione LOAD DATA di mysql di visualizzare il contenuto di qualsiasi file bypassando le restrizioni sul server, perciò se conoscevi la path di un sito hostato sul tuo stesso server potevi leggere il contenuto di un qualsiasi file se ne conoscevi la locazione.
Facendo un esempio pratico, io possiedo il sito www.tommyb.net che sta in /var/www/tommyb.com/ e sullo stesso server risiede www.mistaantipatico.com che sta in /var/www/mistaantipatico.com.
Dal MIO server eseguivo una query come:
LOAD DATA LOCAL INFILE '/var/www/mistaantipatico.com/config.php' INTO TABLE tabella_per_rubare_sorgente
e mi copiavo il file con i suoi dati di accesso al database.
Ricordo che ai tempi siccome avevo un "forum" per evitare di venire bucato, in quanto 0day e quindi ci avrebbero messo un pò a fixarlo, piazzai il config.php in una cartella e lo rioniminai con infiniti caratteri e numeri casuali e poi lo includevo ciclando i file tramite delle funzioni ma non scrivendolo direttamente, di conseguenza dai miei file non era possibile trovare la locazione della configurazione.
Il codice era più o meno questo (ora non ricordo di preciso):
Codice: Seleziona tutto
foreach (glob('include/*.php') as $fileName) {
if (strlen($fileName) == 256) {
require 'include/'.$fileName;
break;
}
}