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

2016-01-20 11:28:23 +08:00
 aivier

诶?什么鬼...

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

捉“奸”在床


如图所示,访问任意网站可能会打开携程,但网址并不会发生改变

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

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

一睹真容

虽然上面的代码部分进行了加密,但是仍然可以看到 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;
}

题外话

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

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

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

@Biwood 东北地区大多数人对于这种事的态度是“多一事不如少一事”
lk1ngaa7
2016-01-20 14:54:51 +08:00
这种现象确实存在,劫持者任意篡改流量,更可恶的是,有些劫持者自己程序出问题,导致被劫持的网站无法访问,直接影响用户感知
akw2312
2016-01-20 15:43:05 +08:00
測試了一下 120.52.72.x 國外也能打開 但唯獨台灣不行......
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
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
2016-01-20 17:31:11 +08:00
@akw2312 akw28888 ?居然见到你

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

话说闺蜜间的反应速度好快。。。
kn007
2016-01-20 17:33:26 +08:00
薇,今天发现某政府网站被挂了假的技术证书查询地址(从 xx.gov.cn 跳到 xxgov.cn )。。。 而这个某政府居然是 10 年才有网站, 14 年才备案。。呵呵哒。
akw2312
2016-01-20 18:47:50 +08:00
@kn007 恩( 是 akw28888 沒錯
techyan
2016-01-20 20:05:27 +08:00
同辽宁联通,天天遇到这种情况。准备投诉,实在不行大闹一场。反正放假了有的是时间。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/252039

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX