No, non penso che il campo pwd non sia sfruttabile in questo esempio. Poiché il PHP è passato attraverso la funzione MD5() di PHP, l'output sarà la codifica esadecimale dell'hash . Ciò significa che la stringa conterrà solo cifre e le lettere a in f . Non puoi uscire dalla citazione usando quei caratteri.
Supponiamo che sia stato utilizzato MD5($_POST['pwd'], true) , in modo che l'hash binario non elaborato fosse stato restituito. Quindi dovresti inserire un ' per uscire dal contesto della stringa. Supponendo che i set di caratteri siano configurati correttamente mysqli_real_escape_string() bloccherebbe quello.
Quindi supponiamo che non ci fosse mysli_real_escape_string() . Quindi è possibile sfruttarlo creando una password che, quando viene sottoposta a hash, genera un payload SQL. Dovresti generare molti hash MD5 per produrre un utile utile per caso, ma non è impossibile.
A proposito, hai esaminato la variabile $email ? Sembra che potrebbe essere sfruttabile.
Avviso obbligatorio I: Solo perché probabilmente questo non è sfruttabile nella pratica, non lasciatevi ingannare dal pensare che sia sicuro concatenare l'input dell'utente non affidabile nelle query SQL. Utilizza le istruzioni preparate.
Avviso obbligatorio II: non utilizzare MD5 per le password hash.