永发信息网

为什么在SQL注入漏洞时,通过后面加and 1=1 或1=2就可以判断是否存在漏洞。

答案:4  悬赏:20  手机版
解决时间 2021-11-20 11:23
  • 提问者网友:太高姿态
  • 2021-11-19 13:01
为什么在SQL注入漏洞时,通过后面加and 1=1 或1=2就可以判断是否存在漏洞。
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-11-19 13:55
比方说,你要登陆某个系统,在你不知道账户名和密码的情况下,可以通过这种方法来登陆系统.

原来的查询语句可能是这样的:
select name from user where userid= :userid and password=:password
:userid ,:password 是你输入的用户名和密码
有注入漏掉的话就会变成这样:
select name from user where userid= :userid and password=:password or 1=1
你加了or 1=1 后,不管用户名和密码是否正确,这个sql 都为真. 然后就可以登陆到系统里面去.

还可以做一些破坏性的动作.例如加delete语句什么的
全部回答
  • 1楼网友:一把行者刀
  • 2021-11-19 15:22
x & 1=x
x & 0= 0

当加1=1 时,前后结果应该一样,不一样就出错了
加1=2 时,应该没有数据,如果有数据就错了
  • 2楼网友:野味小生
  • 2021-11-19 14:52
是加入 or 1=1,or的条件判断 false or true =true ;1=1为true,则忽略了之前的条件
  • 3楼网友:低血压的长颈鹿
  • 2021-11-19 14:27
有些网站写与数据库交互的语句的时候,选择的是直接传递SQL语句到数据库,这种情况下,你在后面添加 or 1 = 1就相当于修改了客户端传输的sql语句,将该条语句变为了一个恒真语句,所以就可以任意连接修改数据库了,在sql注入时,若输入 or 1 = 1这种只能简单的判断网站的传输机制有没有问题,即使通过修改传值方式避免了这种注入,还可以通过其他的方式进行SQL注入。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯