网页劫持

一、什么是网页劫持

当我们在手机上访问网页时,经常会看到一些不属于网页本身的内容,常见的是在网页中加入一些别人的广告,这种情况很明显是被劫持了


二、网页劫持分类

网页劫持可以分为服务端劫持、客户端劫持、百度快照劫持、百度搜索劫持等等;表现形式可以是劫持跳转,也可以是劫持呈现的网页内容

  • 被浏览的网站域名泛解析
    所谓“泛域名解析”是指:利用通配符* (星号)来做次级域名以实现所有的次级域名均指向同一IP地址

  • 用户浏览的浏览器被劫持
    当你打开一个浏览器进行网页内容浏览的时候,这个网页会自动出现一个浏览器的广告新闻,实际上浏览器本身没有投放任何的广告,这个是被别人恶意利用劫持了浏览器,只要用户打开浏览器就会蹦出来这个广告

  • 黑客入侵

  • 运营商劫持
    假设你的页面不是泛解析,也不是你网站程序被黑客侵犯,那么就归于这个“不可描述”的劫持了,也就是运营商被劫持了,网页被非法的修改拦截了。使用HTTP请求请求一个网站页面的时候,网络运营商会在正常的数据流中插入精心设计的网络数据报文,让客户端(通常是浏览器)展示“错误”的数据,通常是一些弹窗,宣传性广告或者直接显示某网站的内容

    跳转型劫持:用户输入地址A,但是跳转到地址B。如常见的header劫持
    注入型劫持:在正常的网页中注入广告代码(js、iframe等),实现页面弹窗提醒或者底部广告等
    
三、客户端劫持

客户端劫持的实现方式有链路劫持攻击

四、防范链路劫持
1、使用SSL
2、在客户端或(和)服务器丢弃伪造的TCP包
3、运用https加密
4、检查目标网站是否有javascript的Frame Busting机制。通常可以写一段JavaScript代码,以禁止iframe的嵌套
五、客户端过滤
  • 分析网页源码
  • iOS11后WKWebView增加了内容过滤规则。原理上就是提供一个 JSON 给 WebKit,这个 JSON 包括内容的触发规则(trigger)和对应的处理方式(action),WebKit 会把拦截规则编译成高效的二进制码

你可能感兴趣的:(网页劫持)