js 被链路劫持怎么解决?

2014-11-21 13:36:15 +08:00
 bcpxqz
js是被部署在很多的第三方网站上,接到网站投诉,说我们js会弹窗,通过抓包分析,发现是js请求被链路劫持,返回中被加入了某联盟的弹窗代码。一个网站配合我们重写了代码,改写的方法判断如果写入非白名单的域名的js就发送监测,通过数据分析发现劫持发生在全国各个区域,特别几个省份量非常大,这些量,在每个省的每个市分布都比较平均。

能有这个能力劫持的,听朋友分析,有运营商,和运营合作的亿字开头的某公司,还有cdn,cdn首先排除了,干这个是砸招牌啊,人家大厂应该不会做这种事情吧,亿字开头的公司不能投放这么小联盟的广告啊,运营估计也不会鸟这么个小联盟吧,然后又听熟悉联盟的朋友说,个人也是有能力做到这点的。

在发生劫持的机器上分析,dns返回是正确的,确实是发生在链路这块,加入的是那家联盟的代码我们也知道(有办公地点的公司),其中的id肯定是可以关联到劫持者的,劫持者和联盟可能有资金来往,当然也不能排除联盟参与的可能性,js中也同时加入了第三方网站统计代码。

现在我们似乎也没什么办法来解决这个问题,报案吧,似乎也没什么人鸟我们,找联盟和第三方统计网站吧,人家也不一定配合,配合也啥效果。找电信投诉似乎也无门,请大家给个建议,非常感谢。
7238 次点击
所在节点    问与答
12 条回复
sneezry
2014-11-21 13:39:54 +08:00
可以通过csp控制
tabris17
2014-11-21 13:40:56 +08:00
gzip压缩一下
cnxh
2014-11-21 13:44:06 +08:00
ssl?
bcpxqz
2014-11-21 13:45:09 +08:00
@tabris17 已经是gzip压缩过的,gzip压缩解决不了这个问题哦。
bcpxqz
2014-11-21 13:51:14 +08:00
@cnxh ssl我测试过在http页面中引用https的资源都没有安全提示,但是https的cdn成本有点高。
bcpxqz
2014-11-21 13:56:46 +08:00
@sneezry Content Security Policy似乎对链路劫持没什么效果。是返回内容被修改了。

链路劫持,腾讯安全中心有文章解释得很清楚: http://security.tencent.com/index.php/blog/msg/10
sneezry
2014-11-21 14:02:54 +08:00
@bcpxqz 嗯,我的意思是把广告内容屏蔽,因为isp耍流氓咱们基本只能行政上解决,要么就Ssl
guotie
2014-11-21 14:09:13 +08:00
终极方案:ssl.
whywhywhy
2014-11-21 15:41:11 +08:00
劫持?那用js把劫持后的html代码返回给服务器吧。

然后分析分析,看看怎么解决。

如果劫持的比较狠。比如劫持成一个空白的页面,里面放个iframe指向你的站,那就无奈了。
xoxo
2014-11-21 17:33:32 +08:00
https://...

contact me...
bcpxqz
2014-11-21 18:16:31 +08:00
@whywhywhy 我也看了很多解决方法,一般来说只能运营商有能力做这种事情,所以我们尝试工信部投诉了。

劫持返回的内容千变万化,客户端所做的措施也是比较被动,而且我们的js是部署在第三方网站上的。
aveline
2014-11-21 19:13:08 +08:00
强制走 HTTPS,不过碰上 DNS 劫持的话就打不开了。

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

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

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

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

© 2021 V2EX