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

什么原理... 什么原理 展开
 我来答
105780520
推荐于2017-11-23 · TA获得超过663个赞
知道小有建树答主
回答量:354
采纳率:0%
帮助的人:287万
展开全部
比方说,你要登陆某个系统,在你不知道账户名和密码的情况下,可以通过这种方法来登陆系统.

原来的查询语句可能是这样的:
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语句什么的
骑梼杌的小哪吒
2010-05-20 · TA获得超过625个赞
知道小有建树答主
回答量:385
采纳率:100%
帮助的人:161万
展开全部
有些网站写与数据库交互的语句的时候,选择的是直接传递SQL语句到数据库,这种情况下,你在后面添加 or 1 = 1就相当于修改了客户端传输的sql语句,将该条语句变为了一个恒真语句,所以就可以任意连接修改数据库了,在sql注入时,若输入 or 1 = 1这种只能简单的判断网站的传输机制有没有问题,即使通过修改传值方式避免了这种注入,还可以通过其他的方式进行SQL注入。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
威武的农民
2010-05-20 · TA获得超过417个赞
知道小有建树答主
回答量:593
采纳率:0%
帮助的人:519万
展开全部
是加入 or 1=1,or的条件判断 false or true =true ;1=1为true,则忽略了之前的条件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bloodyrain2005
2010-05-20
知道答主
回答量:73
采纳率:0%
帮助的人:21.5万
展开全部
x & 1=x
x & 0= 0

当加1=1 时,前后结果应该一样,不一样就出错了
加1=2 时,应该没有数据,如果有数据就错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式