Ignora login con mqsql_fetch_object - Sql injection [closed]

0

Ho il seguente codice PHP e non sono in grado di passare l'autenticazione usando SQL Injection. Hai qualche idea su come farlo?

$password=md5($_REQUEST['dr']);
$result=mysql_query("SELECT dr FROM table WHERE user='".$username."'");
if (mysql_fetch_object($result)->dr==$password) {
            $okay=true;
}
    
posta Noahnder 15.11.2016 - 15:54
fonte

1 risposta

1

Ovviamente c'è un'iniezione SQL sul parametro $username , ma non è possibile ignorare il login, perché la password viene confrontata con il risultato della query, ad esempio, se si inserisce ' or 1=1 -- , la query sarà:

SELECT dr FROM table WHERE user='' or 1=1 -- 

Ma questo non significa che tu possa accedere all'applicazione, il seguente codice di linea mostra come il risultato della query viene confrontato con il parametro dr :

if (mysql_fetch_object($result)->dr==$password) {
            $okay=true;
}

Questo fa parte dei migliori pratici sull'accesso basato su query SQL; confronta nome utente e password in modo indipendente.

Spero che questa informazione ti aiuti.

    
risposta data 15.11.2016 - 16:14
fonte

Leggi altre domande sui tag