我正试图在本地主机上为安全测试项目创建的虚拟网站上执行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>发布于 2013-01-06 14:04:38
注入字符串应该如下所示:
用户名和密码:
' or '1' = '1用户名(通常是)或密码:(这取决于查询中哪个用户名放在第一位)
#注释查询的其余部分。
' or '1'='1' #有关SQL注入的更多信息,您可以查看这个完美的url:
发布于 2013-01-06 14:06:59
试着注射这个:' or '1' = '1' --
'1' = '1'总是正确的,--说,--之后的所有内容都是注释,不会被选中。
https://stackoverflow.com/questions/14182855
复制相似问题