零酷科技设计出品
扫描关注零酷科技微信公众账号

扫一扫微信二维码

php官方停止更新5.x版本后网站安全堪忧,国内著名框架thinkphp有漏洞爆出

西安零酷科技2018-12-25经验之谈
php

对于网站开发人员来说,php是最常用的一种开发语言。其官方在近期停止更新5.x版本的安全更新后,众多基于5.x开发的网站基本上没有了安全保证。大多数公司已经开始着手更新php网站版本。

而作为国内最大的开源框架thinkphp拥有成千上万的用户。其最近也被爆出有相关漏洞可以被操纵服务器,具体可以看下面。众开发者可以查看修改,以下内容部分摘自thinkphp官方论坛。

其中通过parseModuleAndClass方法解析出$module和$class,然后实例化$class。 rseModuleAndClass方法中,当$name以反斜线\开始时直接将其作为类名。利用命名空间的特点,如果可以控制此处的$name(即路由中的controller部分),那么就可以实例化任何一个类。

thinkphp

代码简单,就是使用/对$url进行分割,未进行过滤。路由地址Request::path()中获取。

thinkphp漏洞

var_pathinfo的默认配置为s,我们可利用$_GET['s']来传递路由信息,也可用pathinfo来传递,但测试时windows环境下会将$_SERVER['pathinfo']中的\替换为/。结合前面分析可得初步利用代码如下:index.php?s=index/\namespace\class/method,这将会实例化\namespace\class类并执行method方法。然而利用过程中会存在一些限制,部分类在实例化时由于缺少参数而报错。经过一番寻找,在\think\Request类中找到可以利用的方法input。

请广大开发者自己查阅并及时调整代码,避免被不法分子有可乘之机。
文章关键词
php
thinkphp
php5.x
网站安全