结论
如标题的字面意思一样,曾经的一个国产实用插件“扩展管理器”( https://chrome.google.com/webstore/detail/extension-manager/gjldcdngmdknpinoemndlidpcabkggco ) 现在开始利用权限偷偷将用户的标签页重定向到一个固定的导航页( fz2.fengxzi.cn )。你可以很容易地在不少 Chrome 插件推荐中找到对这个插件的介绍,它曾经是很好,但现在不是了。
开始弹广告的版本应该是 9.3.4,下面有发现其弹广告行为的过程,如果不想阅读可以直接跳到底部,附加了一个其弹窗过程的视频或者检查下你是否有安装这个插件。
弹窗方式
触发方式不能确定,应该是在使用时点击链接时触发。为什么不能确定呢?因为它不会在你当前使用的标签页中重定向到广告页,它永远只会在你当前不在使用的后台标签页跳转广告,如果那个标签页中有输入框内容,你有可能丢失那些数据。
当标签页被劫持到广告页后,它会有两种情况: Ⅰ. 进行快速几次跳转,其中包含广告页,随后返回原本的链接 Ⅱ. 停留在广告页,标签页的标题也会显示为广告页的标题。当用户点击回这个标签页,它会立刻跳转回原本的链接。
弹窗频率
非常高,文章写到这里时已经 3 次了。很多情况都是上面提到的情况 1,跳转非常迅速,难以捕捉。并且这种情况下,广告页的链接是无法在浏览器历史记录中看到的。只有在第二种情况下或者第一种情况发生后手动点击返回,才能在浏览器历史记录中记录到。
如何排查到这个插件的
我不是专业的开发者,它跳转地也很快,等我切过去后控制台中肯定是干净的,所以捕捉不到啥有用的被嵌入的 JS 代码。
第一次发现这个问题是 6 月 6 号,情况 2
6 月 7 号再次发现。盲猜是插件问题,在 Chrome 后台关闭了所有插件。随后点击该标签页,没有跳转回原本的链接,所以确认是插件的问题。
6 月 8 号。因为它跳转到了一个很辣鸡的中文导航站,所以盲猜是某个中文插件的问题。二分法屏蔽了一批插件( V 站和 B 站相关的插件),全部排除。
6 月 9 号。和上一天同样的操作,排除了微博相关 /划词翻译和自定义标签页的插件。
6 月 10 号。排除了油猴插件和一些小工具(已经开始不是中文插件了,当时很困惑,因为忘记了扩展管理器也是国产的。最讽刺的是那两天我排除法屏蔽插件时用的就是这个扩展管理器)。
后面因为其他事情很忙所有没时间理这个问题,直到昨天晚上忽然开始极高频弹广告(一小时内数次,而一开始都是一天一两次),所以开始查有没有类似的问题,发现 V 站内 /t/677688 和我是一样的情况。楼主发了一个 Reddit 链接,顺着过去查问题,发现有人提到了“扩展管理器”。看到这个扩展名的瞬间我基本上就断定是它了,因为我自己已经排除了大概 80%~90%的全部插件了,而这个扩展管理器是最后一个没有被测试的中文插件。
今天凌晨,在网上买东西时再次弹广告。直接单独屏蔽“扩展管理器”,点击标签页,没有返回原本页面。水落石出。 查了下其最近的更新日期,和开始弹广告的日期基本符合上,下载了前几个版本的安装包并拆了下,代码更新范围非常大,有些文件像是完全重写了一样。
最后的吐槽
- 卸载吧
- 我不介意免费软件 /插件有广告,但你有那么多地方放横幅广告为什么偏要来偷偷地弹窗?
- 既然你选择了弹窗这种收入方式,建议把打赏的入口关了吧
- Chrome 商店 100,000+用户且评分不错的一个插件做如此偷鸡摸狗的事情实在不是明智的选择,用户损失、评分降低是注定的
- 这导航页做得也太差劲了吧!一堆 404 页面,热搜内容都不知道是多少年前的新闻了...
视频链接:
录屏时忘记调设置,只有 720P,但还是看得清的 B 站: https://www.bilibili.com/video/BV1C54y1B7po/
