漏洞预警_PHPCMSv9前台GetShell (2017/04/09)

把预警的文章在博客同步一下,毕竟半年没写东西了

版权声明:
本文首发于微信号:inn0team
此文章版权归属于 inn0team 所有
转载请务必保留此声明,违者必究。

首先感谢某个朋友,一同完成的漏洞分析与发现。

先上一张效果图(官方Demo)

具体细节暂不透露,已经将细节和修复方案提交给厂商处理了。待修复后会放出分析细节。

组件介绍

PHPCMS V9(后面简称V9)采用PHP5+MYSQL做为技术基础进行开发。V9采用OOP(面向对象)方式进行基础运行框架搭建。模块化开发方式做为功能开发形式。框架易于功能扩展,代码维护,优秀的二次开发能力,可满足所有网站的应用需求。 5年开发经验的优秀团队,在掌握了丰富的WEB开发经验和CMS产品开发经验的同时,勇于创新追求完美的设计理念,为全球多达10万网站提供助力,并被更多的政府机构、教育机构、事业单位、商业企业、个人站长所认可。

官网地址: http://www.phpcms.cn/

临时防护方案:

设置网站目录下的 /uploadfile 目录及子目录不解析 php 文件。推荐 phpcms 官方演示站也这么配置,即便上传了Shell也不会执行。

我的网站路径是 /var/www/html/uploadfile,根据你的真实情况自行调整
以 apache v2.4 为例,在 apache2.conf 中添加如下配置:

1
2
3
4
5
6
7
8
9
<Directory /var/www/html/uploadfile>
# 禁止解析 php 文件
php_admin_flag engine off
# 禁止用户下载 php 文件
<filesmatch ".+\.ph(p[345]?|t|tml)$">
Order deny,allow
Deny from all
</filesmatch>
</Directory>

nginx 等其它 Web 容器配置请自行百度,配置完记得重启

配置后访问WebShell时效果如下图,已经不能解析且不可以下载: