Has*_*100 9 php mysql sql sql-injection
我正在尝试在我的localhost上创建的虚拟网站上执行SQL注入,以进行安全测试项目.
我尝试将字符串输入" OR "='用户名和密码字段,因此它应绕过它并显示Login Correct - 但它显示登录失败
帮助理解为什么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>
Run Code Online (Sandbox Code Playgroud)
Sia*_*agh 14
您的注射字符串应如下所示:
用户名和密码:
' or '1' = '1
Run Code Online (Sandbox Code Playgroud)
用户名(通常)或密码:(取决于查询中首先出现的那个)对查询的#其余部分进行注释.
' or '1'='1' #
Run Code Online (Sandbox Code Playgroud)
有关SQL注入的更多信息,您可以查看这个完美的URL:
SQL注入知识库
您还可以下载有关实际SQL注入的我制作的幻灯片(ms power point file(ppsx)):
SQL注入操作
| 归档时间: |
|
| 查看次数: |
5665 次 |
| 最近记录: |