近期360互联网安全中心收到多位站长求助,其网站在通过搜索引擎打开时,会跳转到网络博彩页面。经过分析发现,是网站使用的jQuery代码被恶意篡改,进一步分析发现,很多站点是因为使用的CMS中的旧版本jQuery-File-Upload插件存在任意文件上传漏洞(CVE-2018-9206)被利用后插入的恶意代码导致。
Blueimp jQuery-File-Upload是一款被广泛使用支持多种语言的文件上传工具,它包括文件选择、文件拖放、进度条显示和图像预览等功能。 Blueimp jQuery-File-Upload 9.22.0及之前版本中,在最近被爆出存在任意文件上传漏洞(CVE编号:CVE-2018-9206,详情见:http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-9206)。远程攻击者可利用该漏洞执行代码。
该插件是GitHub上第二个最受欢迎的jQuery项目(有7844个分支,Star为29320),仅次于jQuery框架。并且已经集成到数百个其他项目中,如:CMS、CRM、Intranet解决方案、WordPress插件、Drupal附加组件、CKEditor(DeDeCMS中也有集成)、Joomla组件等等。
过程分析
某网站上使用的jQuery File Upload插件
Github中该项目(https://github.com/blueimp/jQuery-File-Upload)中安全提示信息:CVE-2018-9206漏洞影响2018年10月之前发布的版本:
jQuery File Upload插件项目页面说明
分析发现此类被挂马的网站的jQuery库文件的尾部被额外插入经过混淆的代码,经过去混淆后其内容为:判断站点的来源页面(referer)是否为百度(baidu)、谷歌(google)、雅虎(yahoo)、必应(bing)、搜狗(sogou)、360搜索(so.)、有道(youdao)、极客(jike)、anquan、360导航(360.cn)其中之一,如果是则会嵌入一段广告代码hxxps://s5[.]cnzz[.]biz/robots.php;
jQuery脚本中被插入的恶意代码
robots.php中的脚本内容如下图所示:主要功能为:将当前页面的父页面(即搜索页面)跳转到博彩页面:hxxp://www[.]b733[.]xyz:2682/w.html,
S5.cnzz.biz中的抓包内容
55bbs中同样被插入了混淆的广告代码,去混淆后其中的广告代码功能主要为自动复制一段支付宝吱口令领红包赚取赏金的广告。
领红包恶意代码
下图为判断移动设备跳转博彩网站相关的JS代码:
判断是否正被移动设备访问
跳转到的博彩页面如图所示:
博彩页面
恶意代码攻击效果演示:
攻击效果演示
该漏洞已在野外被利用,攻击者可以滥用此漏洞在服务器上上传恶意js文件,甚至后门程序和Web shell。所以建议使用了jQuery-File-Upload上传插件CMS站长尽快更新到修复了该漏洞的新版本,以免网站或服务器遭受攻击。
91淘课:
hxxp://www.91taoke.com/Public/gaiban/js/jquery-3.0.0.min.js
健康无忧网:
hxxp://www.jk51.com/gg/headad1.js
55bbs论坛:
hxxp://oss-icon.55-img.com/newPage/js/jquery-1.11.2.min.js
明星网:
hxxp://www.ctvjx.com/skin/js/jquery.min.js
西安市第四医院:
hxxp://www.grmg.com.cn/templets/default/js/jquery-1.7.1.min.js
hxxp://www.cnbidding.com/archives/20180204/1506/index.html
hxxp://s7.cnzz.biz/stat.php?id=33222&web_id=33222&show=pic