近期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