用着家中wifi,刷着手机,忽然就给你蹦出来广告?
把广告叉掉,过一会又弹出来?
还给你复制淘口令、自动弹页面?
怎么样才能解决啊啊啊啊啊啊!!!!
————这篇文章,就将会详细介绍这种问题!

为了方便,本篇文章的例子为:mcbbsbejson、一个自搭建的网站
其中bejson可启用https。

一、找出问题根源

Part.1 http与https

在手机端中,发现浏览bejson的http版本时就会跳出广告。
bejson在http下会弹出广告
而使用https访问的时候就不会跳出广告。
https大法吼哇
http被挟持很正常嘛。
但因为看过一些报告,自己忽然认为是路由器被挟持的原因而产生了这个广告。
开了流量访问http试了一下。
4G
果然是这样的。nice。

Part.2 http一定有广告?

偶然地,访问了我自己的一个http服务器。
但是并没有想象中的广告出来啊?????
exm
emmm...
所以说...广告->http,但http-?>广告???
继续开始试验。不能停止啊。

Part.3 转战电脑,F12验根源

在电脑上,使用了User-Agent Switcher for Chrome插件,以模拟在ios系统下访问网页。
结果发现...电脑上访问网页是正常的,但在手机ua下访问就会出问题。
用了F12看了下mcbbs,找了半天终于发现个不对劲的地方
可达鸭皱了下眉.png
嗯哼?
再往上翻翻....
哟!
呀嘿!在这里!
可惜的是我并不懂js。只能一堆英文靠猜想了。
在下图所示的框中,忽然出现了一个网址!
下面两个框还是图片!
...大概就是广告的出处了吧?
qwq

Part.4 水落石出---DNS&cnzz

不过随着调查的深入,发现..忽然看见CNZZ这几个字母。
cnzz
马上猜想————是不是cnzz出了问题?
看了一眼网站,发现————mcbbs,bejson都用了cnzz统计!
而我自己搭的网站并没有!!!!!!!
水落石出!!!是cnzz这里有点东西!!!!!
马上看了一下cnzz.com的所有统计域名,并且为了方便用了台服务器进行对照。
发现是c.cnzz.com有东西!
c.cnzz.cnm
那用https访问呢?
c.cnzz.ok
推论确定!是路由器指定的DNS被挟持了cnzz的http!而cnzz在http的站点下是不会使用https的!所以在http下就会有广告弹出!

二、原理研究

一开始咱使用了Chrome自带的功能,使得页面可以进行缩放(我也不懂那叫啥名字= =)
但是...广告并没有弹出来。
想了半天,想到可能是会根据浏览器的ua进行判断识别。
去商店下载了个可以模拟ua的插件,然后把设置调为iphone 6尝试,成功跳出广告。
破案了=-=

三、防御方法

一共有这几种。

  • 将c.cnzz.com强制使用https访问
    好处:不会影响cnzz的数据统计。也不会弹出广告
    不足:这个似乎只适用于电脑。而且我也不知道这个怎么实现=-=。我觉得直接修改cnzz所给的js代码可能更佳。
  • 将源站强制https访问,所有资源都使用https
    好处:不仅拦截广告,还能增强网站的安全性
    不足:对小白和虚机玩家可能有些麻烦,并且需要定期续期ssl证书。
  • 将jscode.zoujinvr.com使用hosts阻止。
    好处:不用弹出广告了。而且手机上也看不到(仅限于可在路由器上配置hosts时)。
    不足:会影响cnzz统计。
  • 换一个DNS
    好处:不会影响cnzz的统计,不会弹出广告。不会有一堆破事。
    不足:...自己设置一下就行的事情有什么不足之处么?

后记 - 9月更新

最近家里换了台路由器。小米的4A。
好处是可以自己魔改一番,甚至可以路由器屏蔽广告。
坏处就是这上面的好处我完全没法体验。因为ssh需要绑定小米账号,但已经被人绑定走了= =
...而且连之前路由器的hosts功能也被一并带走了。
所以最近又开始看起了广告。
广告依然存在,方式甚至更加狡猾。
我原以为他还在cnzz中存活着。没想到我怎么也查不出来到你哪里被动了手脚。
没办法,我只能暂时用hosts屏蔽这个地址。
最近看到有一款叫做pihole的东西,可以屏蔽广告。
碍于自己没有树莓派,所以只得自己用着VMware开了个CentOS。期间因为安装错误和网络发福直接导致了我重装了7次虚拟机...
不得不说,感觉不错。还能在手机里屏蔽广告。甚好。
但对于使用handsome主题的人简直是重灾区。尤其是使用静态图像转移功能的。
不知道为什么,有时候就是会找不到缓存服务器的ip。
我在pihole里全放进了白名单--然而并没有什么用。
在之后有了树莓派之后,会尝试再装一个看看情况的=-=


Last modification:November 21, 2021
各位大佬!来给咱一点钱让咱吃顿饭吧!(QAQ