Tenemos este sitio web legado que tiene un código horrible en él. Acabo de revisar el código / formulario de inicio de sesión y puedo ver consultas de SQL sin desinfectar. P.ej. en pocas palabras:
$email=$_POST['email'];
$password = $_POST['password'];
$query = "SELECT aes_decrypt(password, 'asdasdasd') AS password FROM users WHERE email='$email'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if($password == $row['password']){
// set cookies and redirect user etc etc
}
else {
// error not correct login details
}
Mi pregunta es, me doy cuenta de que esto es malo debido a la inyección de SQL. Y sé lo básico de eso. es decir, podría poner '; DROP ALL TABLES; --
y eso "causaría estragos".
¿Se puede hacer algo más "interesante" o "útil" (para el posible pirata informático)? Es decir, ¿puede generar una lista de contraseñas o descargar las tablas con esto? ¿O podría administrar iniciar sesión como usuario del sitio, por ejemplo, si solo conoce su dirección de correo electrónico?
Principalmente para el interés, pero también para una mejor comprensión (y por lo tanto, encontrar mejores enfoques para la codificación).