PHPCMS 最新版可上传任意文件

  • 来源:深信服安全中心
  • 发布时间:2017-04-13
#

事件描述

    PHPCMS v9.6.0版本被曝存在任意文件上传漏洞,攻击者可直接上传webshell控制受影响网站服务器。

    千里百科

    PHPCMS是一款网站管理软件。同时也是一个开源的PHP开发框架。PHPCMS V9(简称V9)采用PHP5+MYSQL做为技术基础进行开发。V9采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展,代码维护,优秀的二次开发能力,可满足所有网站的应用需求。

    漏洞分析

    经过分析发现,漏洞点出现在/phpcms/libs/classes/attachment.class.php文件中:

    blob.png

    经过全局处理后对传入的值进行一系列的处理,但是在取完新后缀之后未进行验证,直接copy下载文件并重命名,导致文件上传漏洞。

    漏洞复现

    我们本地搭建一个漏洞环境测试一下:

    首先找到网站注册模块,填写注册信息,并修改src参数为含有webshell的畸形数据包,如下图所示:

    blob.png

    发送畸形数据包,系统报错并返回webshell上传路径,如下图所示:

    blob.png

    使用专业工具连接webshell,成功控制网站服务器,如下图所示:

    blob.png

    漏洞修复

    1、升级PHPCMS到V9.6.1版本,下载链接:http://bbs.phpcms.cn/thread-936226-1-1.html

    2、深信服下一代防火墙用户,请升级WAF规则库到20170411及其以上版本,可轻松防御针对此漏洞的攻击。