网络劫持一般指的是网络返回数据被篡改,按照修改数据的不同,我们将其分为两类

  • DNS劫持

DNS劫持主要是篡改域名解析后的IP,访问A域名的时候,解析成B域名的IP。

DNS域名解析可以参考DNS查询原理

  • HTTP劫持

HTTP劫持主要是通过分析HTTP返回的数据并篡改(增删改),一般我们经常看到网页上有小广告,可能就是由于HTTP劫持造成的。

网络劫持的攻击者

运营商!运营商!运营商!

我们遇到的网络劫持都是运营商们,如电信,联通,移动和一大堆二级代理运营商干的。所以我们也称其为运营商劫持。

为什么是运营商?

我们连接互联网都必须要经过运营商的代理,它们是互联网用户连接互联网的必经途径。运营商代理用户请求互联网,获取数据。所以它们天然的可以在返回的数据中动手脚。解析域名的时候篡改解析后的IP,将假地址返回给用户,造成DNS劫持。返回数据的时候,分析数据内容并加以篡改,形成HTTP劫持。

运营商为什么要这么做呢?

俗话说,无利不起早,在互联网时代,流量就是钱,运营商在正常的页面添加小广告,让小广告蹭各种网站的流量,获得极大的曝光率。通过和广告投放商的合作,简直不要太赚钱。

侵犯了谁?

运营商恶意篡改数据不仅影响用户体验,而且容易误导用户。同时对网站运营者造成十分恶劣的影响,常常成为背锅侠。(你是否也曾经以为小广告都是网站接的广告单?)

网络劫持的防范

DNS劫持

对于DNS劫持,我们真的没啥办法。不过国家对于运营商的DNS劫持行为也有明令禁止,所以一般现在不会有了。

HTTP劫持

值得注意的是,一般HTTP劫持的最终结果都是插入第三方脚本或者Iframe(这样做的好处是方便其统一修改及维护恶意代码)

如何防范HTTP劫持是我们今天准备说的重点,也是网络劫持的高发类型。

1.投诉运营商,向运营商投诉,告知其如果不解决则向工信部投诉。2.使用API(MutationObserver)动态监听DOM的修改,判断异常DOM(如src属性异常的sciprt标签,iframe)并及时移除3.全站使用HTTPS,包括CDN的回源(回源),使用HTTPS后就算运营商劫持了数据也无法分析加密后的数据,就无法轻易修改数据了。4.CSP,利用内容安全协议,设置域名白名单,过滤非法域名,这样就能阻止恶意脚本及Iframe的加载了。参考

前端安全系列-网络劫持相关推荐

  1. 前端安全系列(二):如何防止CSRF攻击?

    背景 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网络劫持 ...

  2. 前端安全系列(一):如何防止XSS攻击?

    前端安全 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网络 ...

  3. 前端安全系列:如何防止CSRF攻击?

    背景 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网络劫持 ...

  4. 前端安全系列:如何防止XSS攻击?

    前端安全 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网络 ...

  5. gif透明背景动画_前端基础系列之bmp、jpg、png、gif、svg常用图片格式浅谈(二)...

    IT客栈 作者:大腰子 bmp.jpg.png.gif.svg常用图片格式 之前为大家介绍了几种WEB前端常用的图片格式,对比了它们的特点,参见<前端基础系列之bmp.jpg.png.gif.s ...

  6. 前端科普系列(2):Node.js 换个角度看世界,

    [前端科普系列]往期精彩内容: 前端科普系列(1):很有趣的一篇前端简史,作者有心了~主要介绍 web 前端发展的历史.大事件. 本文为系列文章(2),主要介绍 Node.js 的前世今生.核心科技以 ...

  7. 06_前端优化系列之一_DNS预获取dns-prefetch提升页面载入速度

    title: 前端优化系列之一:DNS预获取 dns-prefetch 提升页面载入速度 urlname: 06_前端优化系列之一_DNS预获取dns-prefetch提升页面载入速度 date: 2 ...

  8. 前端优化系列之DNS预获取 dns-prefetch 提升页面载入速度

    前端优化系列之一:DNS预获取 dns-prefetch 提升页面载入速度 DNS Prefetch,即DNS预获取,是前端优化的一部分.一般来说,在前端优化中与 DNS 有关的有两点: 一个是减少D ...

  9. 2020最全前端面试系列(浏览器原理)(最容易忽视的面试隐藏大杀器)

    2020前端面试系列(浏览器原理) 浏览器输入URL到返回页面的全过程 浏览器渲染步骤 重排和重绘 触发reflow情形 减少reflow方法 浏览器本地存储方案的比较 cookie localSto ...

最新文章

  1. mysqldump远程备份mysql数据库方法
  2. python 报错 UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd3 in position 解决方法
  3. 【响应式Web前端设计】CSS3 :nth-of-type() 选择器
  4. python飞机大战源代码-python飞机大战源码和素材
  5. 企业中squid+iptables多模块的综合应用案例
  6. basic和python_PythonBasic
  7. html5 内嵌网页_如何分析并优化网页的性能?新梦想软件测试
  8. 安装XHProf分析PHP性能瓶颈(原创)
  9. 交换机端口配置与管理
  10. ClassLoader 学习笔记
  11. 高程3总结#第20章JSON
  12. 计算机主机外接电源,电脑DIY必修课,电源接口详解
  13. 32、T5L 迪文屏 C51开发之数据存储模型
  14. Git版本库深入剖析
  15. 使用python操作qq邮箱发送邮件
  16. 如何注册登录Google浏览器
  17. 应急照明市电检测_应急照明接线方式,这几点你必须知道!
  18. 土澳16天超级设计方案
  19. u盘格式化后怎么恢复数据,怎么恢复格式化U盘的数据
  20. SpringBoot应用篇之FactoryBean及代理实现SPI机制示例

热门文章

  1. 7030可打印柔性抗金属标签 - 资产管理rfid电子标签
  2. 华为机试HJ58:输入n个整数,输出其中最小的k个
  3. composer安装yii2
  4. linux 查看系统性能总结
  5. Excel 2016双击文件显示灰色空白页解决方法
  6. visual studio code注释快捷键怎么用?
  7. C/C++改变控制台的字体颜色
  8. python学习笔记——hashlib模块
  9. QGIS中使用Python快速建立多个矢量数据
  10. 南卡和小米蓝牙耳机哪个更值得入手?南卡和小米蓝牙耳机深度测评