首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL注入不能正常工作。

问SQL注入不能正常工作。
EN

Stack Overflow用户
提问于 2013-01-06 14:01:44
回答 2查看 8.8K关注 0票数 9

我正试图在本地主机上为安全测试项目创建的虚拟网站上执行SQL注入。

我尝试将字符串" OR "='输入用户名和密码字段,因此它应该绕过它并显示正确的登录,但是它显示登录失败。

了解SQL注入不起作用的任何帮助

代码语言:javascript
复制
<?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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-06 14:04:38

注入字符串应该如下所示:

用户名和密码:

代码语言:javascript
复制
' or '1' = '1

用户名(通常是)或密码:(这取决于查询中哪个用户名放在第一位)

#注释查询的其余部分。

代码语言:javascript
复制
' or '1'='1' #

有关SQL注入的更多信息,您可以查看这个完美的url:

SQL注入知识库

票数 15
EN

Stack Overflow用户

发布于 2013-01-06 14:06:59

试着注射这个:' or '1' = '1' --

'1' = '1'总是正确的,--说,--之后的所有内容都是注释,不会被选中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14182855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档