セキュリティテストプロジェクトのために自分のlocalhost上に作成されたダミーのWebサイトでSQLインジェクションを実行しようとしています。SQLインジェクションが正常に動作しない
私はそれをバイパスする必要がありますので、ユーザー名とパスワードフィールドに文字列" OR "='
を入力しようとしたと表示ログイン正しい - しかし、その代わりに、それはログインを表示するには、
にSQLインジェクションではない理由を理解するために、任意の助けを失敗しました
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('test');
if(isset($_POST['username'])&&isset($_POST['password'])){
$username =$_POST['username'];
$password = $_POST['password'];
echo $username;
echo $password;
if(!empty($username)&&!empty($password)){
$query ="SELECT id FROM users WHERE username = '$username' AND password = '$password'";
$query_run = mysql_query($query);
if(mysql_num_rows($query_run)>=1){
echo 'Login Correct';
}else{
echo 'Login Failed';
}
}
}
?>
<form action="test.php" method="POST">
Username: <input type="text" name="username">
Password: <input type="text" name="password">
<input type="submit" value="Submit">
</form>
おそらく魔法の引用符の問題 – user1909426