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.