晚上头疼起来买止痛药 ... 然后发现又特么被电信劫持了,不能忍!
但是 HTTP 劫持基本上没办法对付,那就只能从广告页下手了。
根据观察,上海电信访问京东、一号店、淘宝、天猫等,不管劫持到哪个页面,后面均会二次跳转到 click.linktech.cn,那么很好办嘛我把 click.linktech.cn 劫持掉好啦~
例: http://hao.xfect.cn/js/yhd02.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<script type="text/javascript">
var dstSrc="http://click.linktech.cn/?m=yihaodian&a=A100200985&l=99999&l_cd1=0&l_cd2=1&tu=http%3A%2F%2Fwww.yhd.com%2F";
window.top.location=dstSrc;
</script>
</body>
</html>
要直接跳回原站就可以这么写:
<script>
window.location.search.split('&').forEach(function (param) {
param = param.split('=');
if(param[0] == 'tu') {
window.top.location.replace(decodeURIComponent(param[1]));
}
});
</script>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script defer="" type="text/javascript" src="http://websystem.b0.upaiyun.com/th/sh0101/ver_sh0101_354/th1052.js"></script><script type="text/javascript" src="http://websystem.b0.upaiyun.com/fc/sh0101/js/jquery-1.8.3.min.js"></script><link rel="stylesheet" type="text/css" href="http://websystem.b0.upaiyun.com/fc/sh0101/css/adStyle.css"><title>搜狐视频-搜狐</title></head><body style="margin: 0px; overflow: hidden; zoom: 1;"><div class="ad-dialog ad_ style0" id="ad_id" style="right: 20px; bottom: 2px; display: block;"><div class="title tt_" style="display: none; width: 160px;">这是广告</div><div class="close"><a class="icon-close close_"><span id="cl"><font color="white">关闭</font></span></a></div><div class="repeate"><a id="repeate" class="repeate_"><span id="re"><font color="white">重播</font></span></a></div><div class="content ct_"><iframe scrolling="no" frameborder="no" src="http://a.letter.com.cn/suzhouad/ad9.html?_us=&_su=aHR0cDovL3R2LnNvaHUuY29tLw==" allowtransparency="true" id="adframe" style="top: 0px; width: 160px; height: 0px; display: none; opacity: 1;"></iframe><iframe scrolling="no" frameborder="no" src="http://a.letter.com.cn/suzhouad/ad10.html" allowtransparency="true" id="adframe1" style="top: 528px; width: 160px; height: 150px;"></iframe></div></div><iframe id="imain" src="http://tv.sohu.com/" scrolling="auto" width="100%" height="100%" frameborder="no" onload="" style="position:fixed;"></iframe><style class="ublock-postload-1ae7a5f130fc79b4fdb8a4272d9426b5">#adframe:not(frameset)
{display:none !important;}</style></body></html>
这边由于 CORS 的原因不能直接获得 parent 的 URL,不过我们可以用 referrer 获取,很简单,改写成这样子就可以了:
<script>
parent.location.replace(document.referrer);
</script>
嗯方法很简单啦,就是在本地的 dnsmasq 里插入这么几条配置:
address=/click.linktech.cn/10.21.0.53
address=/cdn.shdsp.net/10.21.0.53
address=/a.letter.com.cn/10.21.0.53
其中的 10.21.0.53
是我内网 Linux 服务器的 IP 地址,上面需要安装一下 nginx 或者其他你喜欢的 Web server。
以 nginx 为例,新增配置文件 /etc/nginx/sites-available/hijack.conf
:
server {
server_name a.letter.com.cn cdn.shdsp.net 58.215.179.159;
root /var/www/anti-hijack;
index dsp.html;
location / {
try_files $uri $uri/ /dsp.html$is_args$args;
}
}
server {
server_name click.linktech.cn;
root /var/www/anti-hijack;
index linktech.html;
location / {
try_files $uri $uri/ /linktech.html$is_args$args;
}
}
然后重载配置
ln -s /etc/nginx/sites-available/hijack.conf /etc/nginx/sites-enabled/hijack.conf
nginx -s reload
嗯,能不看那些讨厌的广告和推广链接了。
另外如果本地没有 Web 服务器可以使用我的 173.234.150.185
,不过由于要走公网谁知道电信会不会再来劫持一遍 ...
另外如果本地也没有 DNS 的话可以用我的 180.153.42.157
和 180.153.47.32
,不过 ... 我也不能保证我的 DNS 结果不会被二次劫持,电信的节操呵呵呵
以及投诉什么的我也试过了,工信部表示不受理,电信表示不是他们的 IP 不能屏蔽。
不过鬼才信。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.