网页被劫持,如何破?

2015-08-16 00:17:01 +08:00
 pysama

要不是前几天浏览常用网页时右下角弹出莫名其妙的广告图,我还不知道我的网页被劫持,打开chorme控制台,看到一个大大的iframe横在那里,瞬间醉了。ISP服务商真是恶心,每月交那么多宽带费,还要搞这种勾当。

想请教:

个人思路:

希望有更好的解决方案。谢谢了

7283 次点击
所在节点    程序员
43 条回复
PublicLawsuit
2015-08-16 16:42:03 +08:00
"把广告ip和域名加入hosts"

如果是ip和域名可以加入hosts的,那么也可以别的方法-------在你的路由器填入黑名单直接阻塞即可。这类苯贼当然仍很多。

但是,问题在于,ISP 内贼变得更狡猾、更流氓,他们在ISP路由网络端劫持网页重新打包、插入了外部脚本和下载地址的网页语言、通过这外部脚本使得用户的浏览器自动下载预先插入的地址的服务器上的非法广告(无备案、无登记)。

我这里上海电信流氓劫持多发生在国内主要热门购物网站各商品页面浏览时,能使用SSL连接的购物站点页面可阻止上海电信流氓劫持行为,但国内主要热门购物网站大多不能使用https连接,比如JD, yixun, 等等,可以使用或可以部分使用https 连接商品页面仅限于amazon.cn, taobao.

电信流氓的这些内贼比以前狡猾了,他们在路由网络拦截购物网页并重新打包整个网页、插入非法广告的外部脚本和地址连接,比如象:
<script>url={a:"http://58.215.179.159/svr/sflow/a0f4b18f",m:"http://item.jd.com/1450740.html",s:"undefined"};var _iaui=true;var _xus="N0ljUzI0a1Mrd3VseUJIbGozeGgxQT09";var _xai="a0twUE9GSDJXczhjdnF5QUJGUENaZz09";</script>

这个58.215.179.159就是这些电信流氓内贼存放广告内容的地址,是电信流氓内贼重新打包插入页面的脚本语句。

<script>extCallback=function(ad){setAdVisiable(true)}</script>
流氓内贼插入的这段脚本语句就是导致用户浏览器自动下载上述58.215.179.159 的非法广告内容(无登记、无备案的广告和发布)。

用Chrome 浏览器通过右击网页上的“审查元素”发现上述流氓行径,不过很多用户可能未注意到这个弹出窗口的非法广告,容易误以为是电商的页面广告,而且这个弹出广告窗口约15秒后自动关闭,你如果想抓住贼手,必须在15秒内操作。

电信流氓的这种劫持行经对用户购物安全是非常危险的,他们也可以拦截并可能借此盗窃用户金融信息,实际上用户已经不是直接访问购物网站页面,发生了中间劫持。

你可以在路由器上阻塞 58.215.179.159 地址,但要过滤电信内贼插入的网页脚本语句就麻烦得多,参考:
https://github.com/UserScript/Traffic-Hijack-Buster/issues/1
http://quotation.github.io/web/2015/04/15/china-telecom-isp-hijack.html
ezreal
2015-08-16 17:00:43 +08:00
投诉吧,直到被加入白名单。
PublicLawsuit
2015-08-16 17:02:52 +08:00
“坚决的反复投诉ISP即可”

投诉可能暂时解决某些问题,不是解决全部。伴随投诉上海电信极为恶劣的国际出口连接问题,前几日刚还另外投诉过劫持和非法广告问题,电信的电话回访人员强词夺理说不是电信的广告,我说已保留了全部证据可以告你电信,于是她说:把你加入没有电信推送通知的组,请重新启动的路由器。

虽然暂时解决问题,但不是真正完全解决了问题。现在山寨国网络上流氓何其之多!
此外,“把你加入没有电信推送通知的组”之后会有其他什么不良影响,尚未知。

山寨国网络是流氓横行之地,要真正过滤大量的各种流氓广告,需要自己建立一个小型服务器连接路由器,过滤各种流氓广告。有没有人去经营这一业务?用Atom 做一款过滤用微型服务器出售,过滤名单需要持续更新。
gamexg
2015-08-16 19:02:33 +08:00
@pysama gamexg gmail邮箱。
qq651438555
2015-08-16 19:16:43 +08:00
@PublicLawsuit 这个也有办法?不能吧?
pysama
2015-08-16 19:29:32 +08:00
@gamexg 格式化了一下,已发送
PublicLawsuit
2015-08-16 20:25:35 +08:00
“qq651438555:这个也有办法?不能吧?”

http://www.williamlong.info/archives/4181.html
“可以在本地架设一个代理服务器,在代理服务器将浏览器的HTTP请求进行拆包,浏览器设置本地的代理服务器即可。我这里经过测试,默认设置的情况下对三大运营商(电信、联通、移动)的HTTP劫持现象都有很好的抑制作用”。

http://maskv.com/technology/289.html

还可以查到更多的相关信息,几乎都是中国特有的。

很愿意看见有人用Atom 去做一款过滤用微型服务器作为商品出售,过滤名单需要可以持续更新,如果品质和价格都合适,我会愿意买。
PublicLawsuit
2015-08-16 20:28:23 +08:00
对于商业网站经营者:

http://quotation.github.io/web/2015/04/15/china-telecom-isp-hijack.html

第一个可行的办法是HTTPS化,HTTPS请求无法简单的伪造。目前由于网络安全的形势不好,很多网站都做了全站HTTPS化。虽然有一些开销,这毕竟是个最有效的办法。
xfspace
2015-08-16 20:45:57 +08:00
@PublicLawsuit 除了扣门的公司外,现在没什么人用几年前的老古董了吧。。。
lanlanlan
2015-08-16 20:58:46 +08:00
@emric hi 请教下 OpenWRT的如何屏蔽抢答包?
PublicLawsuit
2015-08-16 21:05:46 +08:00
xfspace,

不明白你想说什么。

国内主要热门购物网站大多不能使用https连接,比如JD, yixun, 等等,可以使用或可以部分使用https 连接商品页面仅限于amazon.cn, taobao

JD 这样的最热门的B2C居然输入https就无法连接商品页面。
taobao 同一商品页面地址http 和https 均可用。

你自己试一下不就清楚了?

是指Atom是“老古董”?那你最好先访问intel 产品数据库 ark
pirex
2015-08-16 21:21:29 +08:00
pysama
2015-08-16 22:13:41 +08:00
一起感谢上面各位的建议和发散~

有个回复中链接的文章提到自驾个代理服务器,将http请求分包传输的方法倒是可以试试
KCheshireCat
2015-08-16 23:24:46 +08:00
方便检测的方法是没有了,一般是开好Wireshark,tcpdump之类的软件等抓包,然后,观察劫持包有什么特点

比如 劫持握手包的话,一般是不带mss协商的,而一般通过路由器上网的话都是有mss协商的,有mss协商的包头部会大一些

然后是301跳转包,一般会劫持包会标记ACK,FIN,PSH,或是只标记其中几个。然后以你还会在这个劫持包之后看到正确的包。。。。

一般常见的多是不带某些标志,但是带着这个标志数据的这种不符合结构的包

屏蔽方法一般用iptables的U32来过滤。

或者用iptables标记然后用TC对包暂扣,增加延时,加个5000毫秒,这招对移动小墙的单向RST比较适用
emric
2015-08-17 01:56:00 +08:00
@lanlanlan 用 iptables 的 string 模块.
例如: iptables -A FORWARD -p tcp --sport 80 -m string --algo bm --string "Location: http://xxx.com or ip" -j DROP
ryd994
2015-08-17 02:04:04 +08:00
@PublicLawsuit 1.atom服务器还不如树莓+openwrt,一般家用够了
2.买国内vpn不是更好?
sjwuny
2015-08-17 08:28:22 +08:00
@Twinkle 这个确实是一个不错的思路,我用abp然后把运营商的广告ip加入黑名单,现在已经没有这个问题了。
lanlanlan
2015-08-17 12:19:29 +08:00
@emric Thanks 等下次被从白名单移出来后我试一下
Khlieb
2015-08-17 14:42:34 +08:00
DNSCrypt
zlylong
2015-08-17 16:00:16 +08:00
直接 ping www.wocaoisp11111.com 看返回的 ip 地址。加入 hosts 黑名单。。 ping 出来几个屏蔽几个就行了。

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

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

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

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

© 2021 V2EX