Quiero hacer una demostración de una página de inicio de sesión que sea vulnerable a la inyección de SQL para fines de capacitación. Ya intenté construir uno usando PHP y MySQL. Comenté el código de saneamiento para hacer vulnerable la página.
El código de la página de inicio de sesión es este:
//step 1a: sanitise and store data into vars (storing encrypted password)
//$usr = mysqli_real_escape_string($dbc, htmlentities($_POST['u_name']));
//$psw = SHA1($_POST['u_pass']) ; //using SHA1() to encrypt passwords
$usr = $_POST['u_name'];
$psw = $_POST['u_pass'] ;
//step2: create query to check if username and password match
$q = "SELECT * FROM users WHERE userName='$usr' AND password='$psw' ";
//step3: run the query and store result
$res = mysqli_query($dbc, $q);
Luego, intenté ingresar esto en los campos de nombre de usuario y contraseña:
' or '1' = '1
Sin embargo, la página web me dice que el nombre de usuario y la contraseña son incorrectos. ¿Cómo puedo hacer que la inyección SQL funcione?