网络安全系列之十 万能密码登录网站后台 推荐
2014-10-22 06:52
826 查看
在登录网站后台时,有一个比较古老的“万能密码”漏洞,即利用一个我们精心构造的用户名,即使不用输入密码,也可以登录后台,其原理仍属于SQL注入的范畴。
假设数据库中存放用户信息的表是admin,其中存放用户名的字段是username,存放密码的字段是password,在用户验证页面中用来接收用户所输入的用户名和密码的变量也分别是username和password,当用户在用户验证页面输入用户名和密码后,会提交给如下的语句进行处理:
select * from admin where `username` = ‘$userrname’ and `password` = ‘$password’
这样,当用户输入用户名'or '' = '时,相应的语句就变成了
select * from admin where `username` = ‘’ or ‘’ =‘’and `password` = ‘’
在这个语句中,where后面所指定的条件永久成立,因而就可以绕过身份验证,也就成为了所谓的万能密码。
万能密码中开头和结尾的单引号,主要是为了将查询语句中引用变量的单引号闭合。因而掌握了这个特点之后,我们就可以来任意构造万能密码,比如下面的几种形式:
' or 'a'='a'or'a'='a
' or ‘a’ = ‘a’ or ‘
' or 1=1 or ‘
下面我们就搭建一个实验环境来验证万能密码,这里使用软件NPMserv来搭建实验平台,利用该软件可以快速搭建一个nginx+php+mysql的Web平台。软件内置了2个带有漏洞的php网站,在使用时只需将相应网站所在的文件夹改名为www即可启用。软件下载地址:http://down.51cto.com/data/1886128。
环境搭建好之后,访问网站:
点击“管理中心”,登录后台。在“用户名”中构造一个万能密码登录,“密码”可以不输或者随意输入:
可以成功登录:
下面在WAF中设置策略,来对万能密码进行过滤。
首先在策略管理中新建一条名为P-deny的策略。
然后在“基本攻击防护”中对策略进行设置,将状态设为“开启”,动作设为“阻止”。
仍是在“基本攻击防护”中来创建自定义规则,神州数码WAF的绝大部分功能都是通过自定义规则来实现的,因而这里是WAF设置的重中之重。
这里创建一条名为“nopass”的规则,在规则中主要是来定义正则表达式,对SQL注入的语句进行过滤。
在检测域中设置“参数”,在匹配方式中设置“正则匹配”,在数值中设置正则表达式。
这里根据万能密码的特点,我设置如下的正则表达式:
.*’.*or.*’
.可以匹配任意字符;
*表示表达式不出现或者出现任意次,因而.*可以匹配任意数量的任意字符。
策略设置完成后,在服务管理中将P-deny策略应用到之前创建的web策略上。
这样当在客户端再次通过万能密码登入后台时,便会报错。
假设数据库中存放用户信息的表是admin,其中存放用户名的字段是username,存放密码的字段是password,在用户验证页面中用来接收用户所输入的用户名和密码的变量也分别是username和password,当用户在用户验证页面输入用户名和密码后,会提交给如下的语句进行处理:
select * from admin where `username` = ‘$userrname’ and `password` = ‘$password’
这样,当用户输入用户名'or '' = '时,相应的语句就变成了
select * from admin where `username` = ‘’ or ‘’ =‘’and `password` = ‘’
在这个语句中,where后面所指定的条件永久成立,因而就可以绕过身份验证,也就成为了所谓的万能密码。
万能密码中开头和结尾的单引号,主要是为了将查询语句中引用变量的单引号闭合。因而掌握了这个特点之后,我们就可以来任意构造万能密码,比如下面的几种形式:
' or 'a'='a'or'a'='a
' or ‘a’ = ‘a’ or ‘
' or 1=1 or ‘
下面我们就搭建一个实验环境来验证万能密码,这里使用软件NPMserv来搭建实验平台,利用该软件可以快速搭建一个nginx+php+mysql的Web平台。软件内置了2个带有漏洞的php网站,在使用时只需将相应网站所在的文件夹改名为www即可启用。软件下载地址:http://down.51cto.com/data/1886128。
环境搭建好之后,访问网站:
点击“管理中心”,登录后台。在“用户名”中构造一个万能密码登录,“密码”可以不输或者随意输入:
可以成功登录:
下面在WAF中设置策略,来对万能密码进行过滤。
首先在策略管理中新建一条名为P-deny的策略。
然后在“基本攻击防护”中对策略进行设置,将状态设为“开启”,动作设为“阻止”。
仍是在“基本攻击防护”中来创建自定义规则,神州数码WAF的绝大部分功能都是通过自定义规则来实现的,因而这里是WAF设置的重中之重。
这里创建一条名为“nopass”的规则,在规则中主要是来定义正则表达式,对SQL注入的语句进行过滤。
在检测域中设置“参数”,在匹配方式中设置“正则匹配”,在数值中设置正则表达式。
这里根据万能密码的特点,我设置如下的正则表达式:
.*’.*or.*’
.可以匹配任意字符;
*表示表达式不出现或者出现任意次,因而.*可以匹配任意数量的任意字符。
策略设置完成后,在服务管理中将P-deny策略应用到之前创建的web策略上。
这样当在客户端再次通过万能密码登入后台时,便会报错。
相关文章推荐
- 开发网站登录功能时,如何保证密码在网络传输过程中的安全?
- oracle用户名密码过期引起的网站后台无法登录 推荐
- 网络安全系列之七 网站提权 推荐
- 万能”的网站后台账号和密码!
- 通过网络嗅探:看看我们的密码安全吗? 推荐
- OpenFire后台插件上传获取webshell及免密码登录linux服务器 推荐
- 织梦网站后台登录密码重置
- paip.提升安全---网站登录密码明文传输的登录高危漏洞解决方案
- 网络安全系列之五十四 为GRUB引导菜单设置密码
- 网络安全系列之十二 Linux用户账号安全设置 推荐
- SQL注入全过程,含实例初步注入--绕过验证,直接登录安全较低公司网站登陆框如下:可以看到除了账号密码之外
- 网站后台万能密码'or'='or' 原理
- 整合公司3个网站后台管理子系统的经验总结 - 实现多系统的单点登录(ASP.NET + ASP) 推荐
- 网络安全系列之三十七 Pangolin(穿山甲)和Havij(胡萝卜)的使用 推荐
- 网络安全系列之四十三 在IIS6中配置ASP网站
- 【网络安全】隐藏网站后台的另一种思路
- 网站后台万能密码/10大常用弱口令
- 教你如何修改ecshop2.7.3管理员后台登录地址加固网站安全
- 网络安全系列之三十五 缓冲区溢出 推荐