找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 1578|回复: 0

or=or绕过后台验证,不用密码登陆后台管理

[复制链接]

120

主题

-9

回帖

478

牛毛

一级牛人

积分
478
发表于 2015-9-23 15:35:48 | 显示全部楼层 |阅读模式 来自 广东省中山市
'or''=''or'漏洞是根据or and 运算符的逻辑运算,绕过后台验证进入后台的漏洞。
我两年前就玩过这样的漏洞,今天突然想写点什么,就有了这篇文章。
如果一个网站后台登陆的时候用户名和密码放在一个where中判断就悲剧了,例如下面的SQL语句:
sql=”select * from admin where name='”&name&”' and password='”&pass&”'”
SQL语句中的where是查询的条件,如果是“真”的话就成功进入了后台。
当我们用户名输入'or''=''or' 密码输入任意例如12***56
name变量的值是'or''=''or'
password变量的值是12***56
最后构造成的SQL语句如下:
select * from admin where name=''or''=''or'' and password='12***56'
name=''部分结果是假,因为不会存在空的账号
''=''部分结果是真,因为 ''等于''!
''部分结果为假
password='12***56'部分结果为假,因为密码是自己瞎编的

由于and运算符优先级高于or的优先级,所以先运算and部分,and部分结果是“假”
其中''=''部分是真,由于是or连接的,所以结果是“真”

您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2024-12-22 21:03 , Processed in 0.119549 second(s), 23 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表