Banner Shishii
Pagina aggiornata il:  1/01/2007 08:16

Pagina Stampabile     Pagina Stampabile

Bug in PHPMyWebHosting

E' stato segnalato un bug in PHPMyWebHosting, un programma scritto in PHP di gestione di servizi di hosting. www.securityfocus.com/bid/10942/info/

 

Il file "includes/functions/pmwh.php" è soggetto ad un attacco di SQL injection.

 

Questo tipo di attacco è possibile quando parte di una query SQL viene costruita utilizzando dati che provengono dall'input passato tramite web (uso di form o query string), e questi dati non vengono adeguatamente filtrati, per cui un attaccante può inviare dei caratteri che condizionano in maniera maligna la query.

 

Ad esempio ammettiamo che ci sia un pezzo di codice php di questo tipo:

 

$user = $_GET[user];

$passwd = $_GET[passwd];

 

$q = mysql_query("SELECT id FROM utenti WHERE (user='$user') AND (passwd='$passwd')");

if (mysql_num_rows($q) > 0) return TRUE;

else return FALSE;

 

ci potrebbe essere un attaccante che nel form inserisce:

user: a' OR '1

passwd: b' OR '1

 

per cui la query diventerebbe:

$q = mysql_query("SELECT id FROM utenti WHERE (user='a' OR '1') AND (passwd='b' OR '1')");

e restituirebbe sempre un valore vero.

 

Ci sono molti metodi per evitare ciò, alcuni si basano su dei setteggi effettuabili nel file di configurazione di PHP "php.ini", altri usano un accurato parsing dell'input, che elimina i caratteri pericolosi (ad esempio: '&;<>| ecc...).

 

Si tratta di un attacco molto pericoloso se si rivolge contro il database di un'applicazione deputata a gestire un server in hosting, con il rischio di fare cadere in potere dell'attaccante decine di siti.

 

Non risulta che siano stati rilasciati fix di sicurezza, ma non dovrebbe essere difficile intervenire per chi ha un minimo di conoscenza di programmazione PHP.


Indice del sito