V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aivier
V2EX  ›  宽带症候群

[扒皮]联通是如何劫持任意网站到携程的

  •  2
     
  •   aivier · 2016-01-20 11:28:23 +08:00 · 7490 次点击
    这是一个创建于 3265 天前的主题,其中的信息可能已经有所发展或是发生改变。

    诶?什么鬼...

    最近好多人在网上讨论联通宽带访问任意网站时会变成携程,这是个什么鬼?似乎反馈遍布全国各地,频率大概为一天两到三次。

    捉“奸”在床

    中国联通劫持任意网站到携程截图
    如图所示,访问任意网站可能会打开携程,但网址并不会发生改变

    中国联通恶意劫持网站源代码截图

    来看看源码,看起来好像很厉害的样子,似乎完全没希望看懂?

    其实,没那么难,只要能运行,就一定能解密

    一睹真容

    虽然上面的代码部分进行了加密,但是仍然可以看到 document.write 、 charCodeAt 类字样,其实看到这段文本我的第一反应也是进行了 Unicode 编码偏移,仔细一看,果然如此

    那么,我们来写一段解密 JS 吧:

    function decode(fakeCode) {
    var realCode = "";

    for (var i = 0 ; i < fakeCode.length ; i++) {
            realCode += (String.fromCharCode(
                fakeCode.charCodeAt(i) - offset
            ));
        }
    
        return realCode;
    }
    

    格式化劫持代码后可以看到变量 d 和 c ,这两个变量其实是同一段字符串,只是进行了拆分,合并即可,然后用我们刚刚写的代码进行解密

    中国联通劫持任意网站插入广告的证据截图

    好了,真容出来啦,这是一段普通的 html ,通过一段 js 插入带推广链接的 iframe 造成网址不改变,刷新后依然是正常网站的情况

    嗯,对了,这是推广链接 : http://u.ctrip.com/union/CtripRedirect.aspx?TypeID=2&Allianceid=12033&sid=328415&OUID=&jumpUrl=http://www.ctrip.com

    感兴趣的可要赶紧去围观哦,没准联通要把这段代码删除了

    附:

    下面是这种加密方法的加密、解密代码,以及示例,如果感兴趣,可以运行试试看

    var offset = 1;
    var realCode = "alert('Hello.')";
    
    
    console.log("fakeCode: '" + encode(realCode) + "'");
    // output : bmfsu)(Ifmmp/(*
    
    if(confirm("Run code?")) {
        document.write("<script>" + decode('bmfsu\)\(Ifmmp/(*') + "</script>");
    } else {
        alert("Check console output.")
    }
    
    function encode(theCode) {
        var fakeChar = "";
    
        for (var i = 0; i < theCode.length ; i++) {
            fakeChar += (String.fromCharCode(
                theCode.charCodeAt(i) + offset
            ));
        }
    
        return fakeChar;
    }
    
    function decode(fakeCode) {
        var realCode = "";
    
        for (var i = 0 ; i < fakeCode.length ; i++) {
            realCode += (String.fromCharCode(
                fakeCode.charCodeAt(i) - offset
            ));
        }
    
        return realCode;
    }
    

    题外话

    联通的工作人员你不要问我是谁,我是好人,我叫 雷“轰”。

    35 条回复    2016-05-17 10:41:41 +08:00
    loveminds
        1
    loveminds  
       2016-01-20 11:30:53 +08:00
    广东联通,目前没有出现过此这种样子,只是见过通过跳转页弹窗的,代码不好找,因为很少用到广东联通
    SourceMan
        2
    SourceMan  
       2016-01-20 11:33:42 +08:00
    他说:这不是我们弄的,是你的上级路由 /营运商做的劫持,我们一贯提供稳定、安全、快速..........的服务
    aivier
        3
    aivier  
    OP
       2016-01-20 11:36:07 +08:00
    @SourceMan 没错,但是截图里我把 IP 贴出来了,辽宁联通
    loveminds
        4
    loveminds  
       2016-01-20 11:44:08 +08:00
    @aivier 我感觉的辽宁的个别行为
    jugelizi
        5
    jugelizi  
       2016-01-20 11:52:01 +08:00
    o(︶︿︶)o 唉
    iframe 的太多了
    我每天上网都遇到 只要是 http 站 改你没商量
    xiaofami
        6
    xiaofami  
       2016-01-20 12:23:24 +08:00 via Android
    同辽宁联通,访问 amazon 被劫持到携程,昨天第一次出现。
    aivier
        7
    aivier  
    OP
       2016-01-20 12:36:43 +08:00
    @xiaofami 我要报警了。。。昨天遇到三次了,今天两次
    m939594960
        8
    m939594960  
       2016-01-20 12:47:28 +08:00
    我也辽宁联通 访问好多网站都这样
    huntcool001
        9
    huntcool001  
       2016-01-20 13:19:17 +08:00
    广东联通,没有发现任何劫持。。 除了手机上有些时候有个联通的小窗口提醒流量
    rainy3636
        10
    rainy3636  
       2016-01-20 13:25:58 +08:00 via Android
    同辽宁联通,最近并没遇到此情况
    Biwood
        11
    Biwood  
       2016-01-20 13:26:40 +08:00
    运营商屡屡违法,为什么不能根治?就没有人搜集证据起诉联通么,真的只能看着赵家人为所欲为?
    aivier
        12
    aivier  
    OP
       2016-01-20 14:04:31 +08:00
    @rainy3636 明天就会遇到的

    @m939594960 记得之前有北京的说也是这样,如果只有一个地区的话,我要去投诉了

    @Biwood 东北地区大多数人对于这种事的态度是“多一事不如少一事”
    lk1ngaa7
        13
    lk1ngaa7  
       2016-01-20 14:54:51 +08:00
    这种现象确实存在,劫持者任意篡改流量,更可恶的是,有些劫持者自己程序出问题,导致被劫持的网站无法访问,直接影响用户感知
    akw2312
        14
    akw2312  
       2016-01-20 15:43:05 +08:00
    測試了一下 120.52.72.x 國外也能打開 但唯獨台灣不行......
    akw2312
        15
    akw2312  
       2016-01-20 15:47:38 +08:00
    Tracing route to 120.52.72.79:80
    1 20 ms 144.232.9.176 TimeExceeded
    2 5 ms h254.s98.ts.hinet.net [168.95.98.254] TimeExceeded
    3 5 ms pcpc-3302.hinet.net [168.95.25.146] TimeExceeded
    4 5 ms tpe4-3202.hinet.net [220.128.11.218] TimeExceeded
    5 6 ms TPDT-3011.hinet.net [220.128.11.54] TimeExceeded
    6 5 ms r4102-s2.tp.hinet.net [220.128.7.65] TimeExceeded
    7 1 ms r11-pa.us.hinet.net [202.39.83.77] TimeExceeded
    8 19 ms 219.158.18.182 TimeExceeded
    9 122 ms router.asus.com [192.168.1.1] TimeExceeded
    10 116 ms TPDT-3011.hinet.net [220.128.1.78] TimeExceeded
    11 53 ms r12-pa.us.hinet.net [211.72.108.81] TimeExceeded
    12 5 ms 144.232.9.176 TimeExceeded
    13 1 ms pcpc-3201.hinet.net [220.128.11.114] TimeExceeded
    14 17 ms sl-china17-604705-0.sprintlink.net [144.223.242.30] TimeExceeded
    15 19 ms 144.232.9.176 TimeExceeded
    16 149 ms tpe4-3201.hinet.net [220.128.5.22] TimeExceeded
    17 27 ms pcpc-3302.hinet.net [168.95.25.146] TimeExceeded
    18 51 ms TPDT-3011.hinet.net [220.128.1.58] TimeExceeded
    19 41 ms pcpc-3302.hinet.net [168.95.25.146] TimeExceeded
    20 64 ms tpdt-3011.hinet.net [220.128.5.154] TimeExceeded
    21 18 ms pcpc-3302.hinet.net [168.95.25.146] TimeExceeded
    22 60 ms tpe4-3201.hinet.net [220.128.5.22] TimeExceeded
    23 15 ms r12-pa.us.hinet.net [211.72.108.81] TimeExceeded
    24 22 ms sl-crs2-sj-.sprintlink.net [144.232.1.159] TimeExceeded
    25 116 ms router.asus.com [192.168.1.1] TimeExceeded
    26 28 ms 219.158.102.113 TimeExceeded
    27 36 ms sl-china17-604705-0.sprintlink.net [144.223.242.30] TimeExceeded
    28 66 ms sl-st50-pa-.sprintlink.net [144.223.179.25] TimeExceeded
    29 7 ms 219.158.11.209 TimeExceeded
    30 25 ms 219.158.18.182 TimeExceeded
    31 110 ms router.asus.com [192.168.1.1] TimeExceeded
    32 40 ms 219.158.102.113 TimeExceeded

    用了 tcproute 看了一下 這 TCP 是在鬼打牆吧
    akw2312
        16
    akw2312  
       2016-01-20 15:49:34 +08:00
    我去....我換成了家用的固定 IP 測試
    Probing 120.52.72.79:80/tcp - Port is open - time=248.859ms
    Probing 120.52.72.79:80/tcp - Port is open - time=248.008ms
    Probing 120.52.72.79:80/tcp - Port is open - time=248.922ms
    是通的 路由就省略了 於是乎:
    已知台灣中華電信家用浮動 IP 訪問中國 IP (80port)會劫持到自己的 TP 去。
    e.g. https://www.v2ex.com/t/250906#reply45
    結果 HINET 的 TP 出問題 2333 連不到聯通的緩存服務器
    kn007
        17
    kn007  
       2016-01-20 17:31:11 +08:00
    @akw2312 akw28888 ?居然见到你

    过来支持楼主。。。(不知这样说对么。。。)

    话说闺蜜间的反应速度好快。。。
    kn007
        18
    kn007  
       2016-01-20 17:33:26 +08:00
    薇,今天发现某政府网站被挂了假的技术证书查询地址(从 xx.gov.cn 跳到 xxgov.cn )。。。 而这个某政府居然是 10 年才有网站, 14 年才备案。。呵呵哒。
    akw2312
        19
    akw2312  
       2016-01-20 18:47:50 +08:00
    @kn007 恩( 是 akw28888 沒錯
    techyan
        20
    techyan  
       2016-01-20 20:05:27 +08:00
    同辽宁联通,天天遇到这种情况。准备投诉,实在不行大闹一场。反正放假了有的是时间。
    techyan
        21
    techyan  
       2016-01-20 20:11:17 +08:00
    最近辽宁联通有没有 QQ 经常掉线的情况?大概与携程劫持差不多同时出现。
    1up
        22
    1up  
       2016-01-20 20:59:48 +08:00
    这种垃圾流量倒过来,携程也是挺冤的
    aivier
        23
    aivier  
    OP
       2016-01-20 21:37:27 +08:00
    @1up 这已经不是第一次劫持了,以前在右下角插 Google AD ,劫持 APK(重试多少次都下载不到真正的 App),劫持推广导航,劫持百度
    1up
        24
    1up  
       2016-01-20 22:10:37 +08:00
    @aivier 站长的世界有时候你不在其中确实不懂,玩流量的最低级玩法
    aivier
        25
    aivier  
    OP
       2016-01-20 22:37:48 +08:00
    @1up 我也是站长→_→
    aprikyblue
        26
    aprikyblue  
       2016-01-20 23:45:13 +08:00
    这里山东联通,表示从没遇到过劫持。。。良心?
    1up
        27
    1up  
       2016-01-21 12:28:51 +08:00 via iPhone
    @aivier 那你应该了解,先不说劫持的事,有这流量这么直接到给分销网站,傻啊
    aivier
        28
    aivier  
    OP
       2016-01-21 12:34:57 +08:00
    @1up 花样作死咯,一个 APK 有效安装一块多,之前给所有的 APK 都 301 重定向,根本下载不到正确的东西
    1up
        29
    1up  
       2016-01-21 13:05:41 +08:00 via iPhone
    @aivier 有权限的传统行业不顾吃相啊
    aivier
        30
    aivier  
    OP
       2016-01-21 21:51:52 +08:00
    今天又开始随机劫持 exe 成金山毒霸
    ELIOTT
        31
    ELIOTT  
       2016-01-25 16:00:28 +08:00 via Android
    @akw2312 120.52.72.79 這個 IP 我用中華電信也打不開。。但在學校的 TANet 教育網打的開。。
    akw2312
        32
    akw2312  
       2016-01-26 21:24:33 +08:00
    @ELIOTT HINET 的 TP 劫持把他搞到路由鬼打牆
    你用家用的偽固 I 就能開
    jq8778
        33
    jq8778  
       2016-01-27 18:00:59 +08:00 via iPhone
    这种 cs 携程这类广告主真的会付款?
    连意向流量都算不上啊这
    Stof
        34
    Stof  
       2016-02-05 16:43:25 +08:00
    @akw2312 还真是 akw ,好久好久好久不见了
    aivier
        35
    aivier  
    OP
       2016-05-17 10:41:41 +08:00
    @techyan
    @rainy3636
    @xiaofami
    @m939594960

    劫持又升级了,欢迎围观...
    https://v2ex.com/t/279151
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2460 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:40 · PVG 10:40 · LAX 18:40 · JFK 21:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.