最近和朋友谈到网页劫持,之前对这个话题还不是很了解。但在我们访问网页是,突然就能被传送到不知所谓的页面,铺满各种“屠龙宝刀点击就送”、“充值XX元就可获得流量大礼包”之类的内容。就算不是页面跳转,网页也有可能被插入额外的广告,无论是去哪个网站都会有一个烦不胜烦的小窗无法消除。
劫持分类
我们生活中常见的劫持有,DNS劫持(运营商作怪)、路由劫持、代理服务器劫持(这个好理解只提一下)、HTTP劫持、软件劫持。
随后我将介绍这些劫持和如何预防这些劫持。
DNS劫持
描述
当用户输入URL直到网页显示,这个过程发生了以下事情,信息首先会通过浏览器发送,然后经路由中转,接着DNS将域名解析成IP,找到服务器后服务器会发送内容给用户,接着再由路由转发数据,最后浏览器将内容呈现给用户(视实际情况,这个过程中还可能存在更多关卡,比如说防火墙、代理服务器等)。
由此可见,无论浏览器、路由、DNS、服务器等任一环节中出了叛徒,用户请求的网页就可能惨遭删改。
产生的缘由
在用户输入URL后到专门的DNS服务器进行查询IP,后面的通信很多都依赖于这个IP地址,如果这个IP地址是错误的呢?
为什么说DNS劫持又是运营商劫持呢?运营商目前竞争比较激烈,为了进一步推广业务,或者进行额外的创收,一些管理不严的二线运营商或者运营商的分部,就会在DNS解析上动歪脑筋了。
解决方案
选择可靠的DNS服务器,例如奇虎360、诺顿、Comodo、百度、阿里、Google等企业,都有提供DNS解析服务,你也可以选择Open DNS这样的老牌免费DNS服务。
还可以向运营商投诉,如果运营上不处理,可以直接向工信部投诉。
HTTP劫持
描述
DNS劫持一般会替换调整个网页(返回的IP地址不对哒嘛),与DNS劫持不同的是网页劫持往往只是在页面上添加一个小窗,但这小窗并不属于网页本身的广告,有时候无论你访问什么网页,这小窗都不会消失,甚是烦人。
产生的缘由
HTTP劫持的原理就是在服务器和用户之间的信息传输之中添油加醋,这是由于信息没有被加密而造成的。用户请求了网站服务器,服务器返还网页给用户,在传输过程中就给了他人加料的机会。
解决方案
将网页升级为HTTPS的连接是最有效的方法,使用HTTPS之后,在传输数据过程中,数据是加密的,在传输过程中就很难被篡改了。
HTTPS不仅可以防止HTTP劫持,也能够较好地防止DNS劫持,这是由于HTTPS的安全是由SSL来保证的,需要正确的证书,连接才会成立。如果DNS把域名解析到了不对应的IP,是无法通过证书认证的,连接会被终止。
路由劫持
在我们的发送request和接受response,都会经过路由,路由器其实也会进行网页劫持。例如小米路由器,就曾经做过劫持网页的事情。虽然性质不严重,没有张贴引人注目的广告,只是把404之类的页面替换成自家网页,但这总归是不对的。
这个解决办法,只能购买靠谱和权威厂家的路由了。
软件劫持
有的同学可能使用过一些软件来全局的清除广告,但是,这是通过全局流量管控来实现的,电脑所有的网络流量都会经由去广告软件之手,因此软件要进行网页劫持,也是轻而易举的事情。例如,著名的去广告软件AD safe,就干过劫持网页的事情。
由此可见,使用三方去广告软件也不是很靠谱,还请读者自我分辨。