威胁快报|CVE漏洞—PHPCMS2008/type.php代码注入高危漏洞预警 ...

技术分享  / 倒序浏览   ©

#楼主# 2019-7-21

跳转到指定楼层

马上注册,分享更多源码,享用更多功能,让你轻松玩转云大陆。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
背景

PHPCMS网站内容管理系统是国内主流CMS系统之一,同时也是一个开源的PHP开发框架。
PHPCMS最早于2008年推出,最新版已出到v9.6.3,但由于稳固、灵活、开源的特性,时至今日,PHPCMS2008版本仍被许多网站所使用。
漏洞简介

PHPCMS 2008存在的代码注入漏洞,导致攻击者可向网站上路径可控的缓存文件写入任意内容,从而可能获取webshell并执行任意指令。
当攻击者向安装有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文件。阿里云安全于11月5日捕获到该漏洞的多个利用样本,分析后因未联络上PHPCMS官方,已报告给国家信息安全漏洞共享平台,且在cve公共漏洞库中编号为CVE-2018-19127。
漏洞原理

该漏洞源于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"。
最终,将被写入该文件。影响范围

虽然距离PHPCMS2008版本的推出已经10年,但仍有不少网站正在使用PHPCMS2008,包括政府、企业的网站;根据Fofa网络空间安全搜索引擎的全网准确搜索结果显示,还有近200个使用PHPCMS 2008版本的网站;而假如使用模糊匹配对网站进行识别,匹配结果更达上万个。
通过利用该漏洞,攻击者在向路径可控的文件写入恶意脚本代码后,后续将能够向该文件发送webshell指令,在服务器上执行任意代码,因而该代码注入漏洞的影响较大。
安全建议

手动修复

临时处理可以在/type.php文件中对$template变量进行过滤,避免客户输入的含有"("、"{"等符号的内容混入,并被当做路径和脚本内容处理。
但由于PHPCMS2008版本过旧,客户应尽量更新到最新版本的PHPCMS,才能够更好地保障安全。
安全加固


  • 云防火墙已支持对该类漏洞的入侵防御,开启云防火墙IPS阻拦模式和虚拟补丁功能,客户即便不自行进行修复,也依然能够进行防御和阻拦。
  • 购买安全管家服务,您将能够在阿里云安全专家指导下进行安全加固及优化,避免系统受到该漏洞及后续其他漏洞影响。
点“阅读原文”理解更多云安全产品
分享淘帖
回复

使用道具

您的回复是对作者最大的奖励

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

  • 主题

    1

  • 帖子

    1

  • 关注者

    0

Archiver|手机版|小黑屋|云大陆 | 赣ICP备18008958号-4|网站地图
Powered by vrarz.com!  © 2019-2020版权所有云大陆