今天在下软件的时候中了毒,与大部分恶意软件的手段差不多,瞬间安装几十个软件、快捷键图标。桌面一度乌烟瘴气。把软件和快捷图标删除后,发现浏览器也是没被放过。万能的方法,“Internet 选项”——改回主页,清除历史,还原设置。
以为一切安顿就绪。没想到chrome打开的几乎所有网站内的iframe广告都被劫持了。
上图是在chrome打开网易首页的广告,很明显那个笑脸广告是被恶意添加的。
上图是在其他内核浏览器打开的相同页面。一切正常。
查看了快捷键图标,位置和目标都没有小尾巴。(很多恶意软件和病毒会通过在这后面添加地址的方式来实现页面劫持。)
于是就开始问万能的度娘。(几乎每个网站都出现了那个笑脸广告。真是受不了)
发现V站有一个几乎一样的问题。虽然最后提问者做出了致歉,错怪了V站的插件。但这也给了自己灵感,下意识去查看了下chrome的插件列表。
发现右上角(画黄色高亮的地方)出现了一个空格,正常是等间距的。一检查的确是多了个“System Table”的插件。看了名字感觉挺官方的,又是system,又是table的。
进入目录,就是一个引用js文件的恶意插件。就两个文件(icon文件夹里的是图标,忽略不计)。
这整个工作原理也挺简单,manifest.json把js文件夹里的脚本植入到打开网站,实现广告劫持。
虽然原理简单,但也极具危险性。除了能劫持广告,这种结构的插件还可以发弹窗,劫持post密码。且不易被发现。之前也写过一篇关于一行代码查看“记住密码”的文章。
解决方法很简单,删除插件,同时删除插件所在的文件夹就ok了。
事情还没完。你也可以制作一个这样的插件,来实现部分iframe广告的屏蔽(将嵌入地址的内容换成自己的空白页面,没有服务器也没关系,github,码云等代码托管网站都提供了一定量的空间,上传几个这样的空页面完全没问题)。当然,你也可以找一些有趣的代码,或是气象预报,或是滚动新闻,一切你想要的东西,嵌入到页面里,这样,打开的网站,只要有iframe广告,就可以出现西乡预报,滚动新闻等等你自己设定的内容。当然,用这一原理来实现这些也要谨慎,可能导致部分网站正常的iframe被替换掉,从而影响了网站功能的使用。具体的代码这里就不贴了,百度“利用Google Chrome开发插件,在网页中植入js代码”会有一大堆教程。照着做就行,小白也能显露一手。
学会了千万别用在不良用途上,仅作自娱自乐。