No, no creo que el campo pwd
no se pueda explotar en este ejemplo. Dado que el PHP se pasa a través de la función MD5()
de PHP, la salida será la codificación hexadecimal del hash . Eso significa que la cadena solo contendrá dígitos y las letras a
a f
. No puedes salir de la cita usando esos caracteres.
Supongamos que en su lugar se ha utilizado MD5($_POST['pwd'], true)
, por lo que se ha devuelto el hash binario sin formato. Entonces deberías colarte en un '
para escapar del contexto de la cadena. Suponiendo que los conjuntos de caracteres están configurados correctamente mysqli_real_escape_string()
lo bloquearía.
Entonces asumamos que no hubo mysli_real_escape_string()
. Entonces, posiblemente podría explotar esto creando una contraseña que, cuando el hash, produce una carga de SQL. Tendría que generar muchos hashes MD5 para producir una carga útil útil por casualidad, pero no es imposible.
Por cierto, ¿has buscado en la variable $email
? Parece que podría ser explotable.
Aviso obligatorio I: Solo porque esto probablemente no sea explotable en la práctica, no se deje engañar al pensar que es seguro concatenar información de usuarios no confiables en consultas SQL. Use declaraciones preparadas.
Aviso obligatorio II: no utilice MD5 para hash de contraseñas.