Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di stan83
    Registrato dal
    May 2003
    Messaggi
    106

    PHP: query SQL multiple in un'unica istruzione

    Ciao a tutti,
    sto realizzando una tesi di laurea incentrata sull'SQL injection e avrei bisogno di sapere se esite una direttiva del file di configurazione php.ini (che a quanto pare dovrebbe essere true di default) per prevenire l'esecuzione di query multiple in una singola istruzione, separate dal carattere ";".

    Esempio pratico:

    script PHP:
    codice:
    // verifica login
    $sql = mysql_query("SELECT * FROM UTENTI WHERE username='$username' AND password='$password'");
    $login_check = mysql_num_rows($sql);
    if($login_check > 0){
    	while($row = mysql_fetch_array($sql)){
    	foreach( $row AS $key => $val ){
    		$$key = stripslashes( $val ); }		
    		header("Location: restricted.html");
    	}
    } else {
    	echo "<CENTER> Login Errato. Username e/o password errati.
     </CENTER>";
    	include 'login.html';
    }
    ?>
    Nel caso specifico si ha che
    $username= '; DROP TABLE UTENTI -- '
    $password= ''

    La query risultante è quindi:
    SELECT * FROM UTENTI WHERE username=''; DROP TABLE UTENTI -- '' AND password=''

    Questo SQL injection, che nello specifico è stato inserito da un form di login, dovrebbe cancellare la tabella UTENTI ma in realtà questo non accade.

    Ho già disattivato la direttiva magic_quotes_gpc quindi l'uso dell'apice singolo fornito tramite post allo script php che genera questa query è valido.

    Help me please
    Mai fare oggi quello che puoi fare domani.

  2. #2
    Utente di HTML.it L'avatar di stan83
    Registrato dal
    May 2003
    Messaggi
    106
    Mi rispondo da solo: MySQL non consente query multiple almeno di default... la cosa cambia utilizzando la funzione mysql_query() ... ma nn credo sia possibile modificare l'impostazione di default. Qcn ne sa di più??

    Tnxxx.
    Mai fare oggi quello che puoi fare domani.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.