Me gustaría señalar primero que este es un intento de educación en mi propia base de datos para comprender mejor las inyecciones de MySQL para proteger mi propio código.¿Cómo demostrar la inyección SQL en este código PHP y MySQL?
Tengo que encontrar un par de ejemplos de cómo se puede construir una inyección de MySQL contra el siguiente código. Es un sistema básico de entrada de usuario donde yo estoy aceptando el nombre de usuario y contraseña sin ningún escape
$user = (!empty($_POST['user'])) ? $_POST['user'] : '';
$pass = (!empty($_POST['pass'])) ? $_POST['pass'] : '';
La consulta MySQL entonces trata de encontrar el nombre de usuario y la contraseña introducidos en mi tabla llamada a los usuarios, de la siguiente manera:
$res = mysql_query("SELECT * from users where user='{$user}' AND pass='{$pass}'");
Ésta es la entrada por la ONU escapado, y estoy tratando de llegar a las inyecciones de MySQL a:
- derivación de la contraseña sabiendo nombre de usuario de un usuario legítimo (un usuario en mi tabla de usuarios es probador) y
- una inyección que dejaría caer la tabla users en su totalidad.
he intentado un par de ejemplos de inyección de MySQL Wikipedia, pero estoy adivinando el {}
en mi consulta es la prevención de la inyección, por lo que agradecería un poco de ayuda de aquellos que son seguros con esto, y gracias a todos ustedes
favor enumerar los que ya trató – Natrium