在登录网站后台时,有一个比较古老的“万能密码”漏洞,即利用一个我们精心构造的用户名,即使不用输入密码,也可以登录后台,其原理仍属于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策略上。

这样当在客户端再次通过万能密码登入后台时,便会报错。

php 万能密码,网络安全系列之十 万能密码登录网站后台相关推荐

  1. mysql手工注入imformation_网络安全系列之十八 MySQL基本操作(PHP注入基础)

    在之前的博文中曾介绍过如何对ASP网站进行手工注入,ASP网站大都是采用ACCESS或MSSQL数据库,因而所谓针对ASP的SQL注入其实也就是根据ACCESS或MSSQL数据库的特点来构造查询语句. ...

  2. 网络安全系列之十八 MySQL基本操作(PHP注入基础)

    在之前的博文中曾介绍过如何对ASP网站进行手工注入,ASP网站大都是采用ACCESS或MSSQL数据库,因而所谓针对ASP的SQL注入其实也就是根据ACCESS或MSSQL数据库的特点来构造查询语句. ...

  3. 网络安全系列之五十四 为GRUB引导菜单设置密码

    在之前的博文中曾介绍过Linux中的单用户模式,单用户模式类似于Windows中的WinPE,可以绕过系统的诸多限制来对系统进行配置,比如修改root用户密码等.单用户模式的使用参见博文http:// ...

  4. 网络安全系列之四十六 在IIS6中配置目录安全性

    Web站点默认是允许匿名访问的,某些特殊网站(或者虚拟目录)如果要求用户提供账号和密码才能访问,或者限定某些IP地址能(或不能)访问,那可以通过在Web站点属性的"目录安全性"选项 ...

  5. 网络安全系列之五十二 组策略中的软件限制策略

    在组策略编辑器中展开"计算机配置/Windows设置/安全设置/软件限制策略",通过设置软件限制策略,可以限制用户在计算机上使用某些未经许可的软件,从而提高安全性. 下面以禁用记事 ...

  6. 网络安全系列之五十 对Web主目录进行备份

    我们可以利用Win2003系统中自带的备份功能,定期对Web站点主目录进行备份,以做到有备无患. 运行[开始\程序\附件\备份],打开备份还原向导,选择"备份文件和设置",然后指定 ...

  7. 网络安全系列之三十五 缓冲区溢出

    缓冲区溢出的大名可谓如雷贯耳,我们不必去探究缓冲区溢出的原理,只需知道他能做什么就可以了.如果能够成功地对远程计算机进行缓冲区溢出,那么就可以获得远程计算机的Shell,也就可以直接以管理员的身份在远 ...

  8. 网络安全系列之三十九 在Linux中配置访问控制列表ACL

    Linux系统中传统的权限设置方法比较简单,仅有3种身份.3种权限而已,通过配合chmod和chown等命令来对文件的权限或所有者进行设置.如果要进行比较复杂的权限设定,例如某个目录要开放给某个特定的 ...

  9. 网络安全系列-二十九: 读《透视APT 赛博空间的高级威胁》笔记

    最近读了奇安信威胁情报中心 于2019年出版 的<透视APT 赛博空间的高级威胁>,针对APT终于有了一个清晰的理解. APT攻击是网络空间存在的威胁隐患,是全球各国面临的重要风险. AP ...

  10. 网络安全系列-二十六: IP地理定位数据库及使用示例

    GeoLite2数据库 GeoLite2数据库是免费的IP地理位置数据库,详见参见:GeoLite2 Free Geolocation Data,比商业版的MaxMind's GeoIP2 datab ...

最新文章

  1. R语言使用ggradar包可视化基本雷达图(radar chart、蜘蛛图spider plot)、可视化单个数据对象的雷达图、自定义雷达图的线条类型、线条宽度、数据点大小、色彩等
  2. 关于开始申请2010年4月份微软MVP的通知!
  3. java框架知识_java框架知识点总结
  4. PID1 / 明明的随机数
  5. Spark 任务调度机制详解
  6. html怎么调整成苹方,html苹方字体
  7. 我的工作日报 - 2020-9-16 星期三
  8. SQL Server2008数据库管理 (第二部分)
  9. python编程图片大全_Python编程实现的图片识别功能示例
  10. request的获取路径用法小结
  11. 8月23号,来上海整整一年
  12. 编译android源码的make命令解析
  13. 服务器机房维护制度,服务器机房的管理制度.doc
  14. arduino的pinMode()函数
  15. 优秀的linux学习网站
  16. 《高效的秘密》第五,六章读后感
  17. 基于网格化的主干光缆纤芯配置模型
  18. 强烈安利一波,程序猿学习网站
  19. 干了这碗蛋炒饭 继续APP性能提升
  20. 为什么?为什么?Java处理排序后的数组比没有排序的快?想过没有?

热门文章

  1. GET请求参数中文乱码的解决办法
  2. origin8.1中文乱码设置方法
  3. Allegro之测量时显示两种单位(mil mm)
  4. Unity3D开发之画墙、地面分割(户型绘制)
  5. 数据结构与算法分析——Hash表
  6. 弹性系数和线径的计算公式_弹簧计算公式
  7. iOS版本 不限速迅雷 企业证书打包的 https://www.pgyer.com/yZAv 密码 9800
  8. TX2(linux系统、Ubuntu系统)输入法不显示拼音候选框、下拉框
  9. 2016 最好的Bootstrap 管理模板
  10. Kconfig语法学习