目录

一、DNS劫持和HTTP劫持

二、DNS解析

三、http劫持


一、DNS劫持和HTTP劫持

DNS劫持表象:你输入一个google.com网址,出来的是百度的页面.

HTTP劫持表象:访问着github的页面,右下角出现了一个格格不入的广告弹窗.

如何判断所用的dns 有没有受到劫持,最简单的测试办法:用nslookup 去查询一个不存在的域名,如果返回一个IP,通过浏览打开这个IP会发现是一个广告页,那么这个DNS 已经被劫持了,如果返回** server can't find wwwsfsefse.com: NXDOMAIN  则未被劫持。

二、DNS解析

例:

未被劫持的DNS:

[root@mail ~]# nslookup serwr3rsf.com 61.235.70.98
Server:         61.235.70.98
Address:        61.235.70.98#53
** server can't find serwr3rsf.com: NXDOMAIN

已经被劫持的DNS:

# nslookup sfsef333sf.com  202.96.128.86
Server:         202.96.128.86
Address:        202.96.128.86#53
Non-authoritative answer:
Name:   sfsef333sf.com
Address: 61.140.3.66
[root@localhost ~]# yum install caching-nameserver[root@localhost ~]# chkconfig named on[root@localhost ~]# service named startStarting named:                                            [  OK  ]

编辑/etc/resolv.conf,改为下面的内容:

nameserver 127.0.0.1

测试:

[root@localhost ~]# nslookup www.google.com
Server:         127.0.0.1
Address:        127.0.0.1#53
Non-authoritative answer:
www.google.com  canonical name = www.l.google.com.
Name:   www.l.google.com
Address: 64.233.189.99
Name:   www.l.google.com
Address: 64.233.189.103
Name:   www.l.google.com
Address: 64.233.189.104
Name:   www.l.google.com
Address: 64.233.189.147
[root@localhost ~]# nslookup sefsf2sfef.com
Server:         127.0.0.1
Address:        127.0.0.1#53
** server can't find sefsf2sfef.com: NXDOMAIN

测试成功!

一般来说DNS劫持有这三种情况

1.错误域名解析到纠错导航页面,导航页面存在广告。判断方法:访问的域名是错误的,而且跳转的导航页面也是官方的,如电信的114,联通移网域名纠错导航页面。

2.错误域名解析到非正常页面,对错误的域名解析到导航页的基础上,有一定几率解析到一些恶意站点,这些恶意站点通过判断你访问的目标HOST、URI、 referrer等来确定是否跳转广告页面,这种情况就有可能导致跳转广告页面(域名输错)或者访问页面被加广告(页面加载时有些元素的域名错误而触发)这种劫持会对用户访问的目标HOST、URI、 referrer等会进行判定来确定是否解析恶意站点地址,不易被发现。

3.直接将特点站点解析到恶意或者广告页面,这种情况比较恶劣,而且出现这种情况未必就是运营商所为,家里路由器被黑,或者系统被入侵,甚至运营商的某些节点被第三方恶意控制都有可能。具体情况要具体分析,这里就不展开了。

DNS劫持常见于使用自动的DNS地址,所以,不管有没有被劫持,尽量不要使用运营商默认的DNS。

三、http劫持

HTTP劫持:你DNS解析的域名的IP地址不变。在和网站交互过程中的劫持了你的请求。在网站发给你信息前就给你返回了请求。

HTTP劫持很好判断,当年正常访问一个无广告的页面时,页面上出现广告弹窗,八成就是运营商劫持了HTTP。

1、HTTP劫持怎么做到的呢?

一般来说 HTTP劫持主要通过下面几个步骤来做:

1.1 标识HTTP连接。在天上飞的很多连接中,有许多种协议,第一步做的就是在TCP连接中,找出应用层采用了HTTP协议的连接,进行标识。

1.2篡改HTTP响应体,可以通过网关来获取数据包进行内容的篡改。

1.3抢先回包,将篡改后的数据包抢先正常站点返回的数据包先到达用户侧,这样后面正常的数据包在到达之后会被直接丢弃。

2、HTTP劫持的手段有哪些?

一般通用的方法都是插入静态脚本或者是HTML Content,或者是将整体替换成Iframe,然后再在顶层的Iframe上进行内容的植入

3、如何防范HTTP劫持?

根据对抗HTTP劫持的时机来分类,可以主要分为三类:

  • 事前加密
  • 事中规避
  • 事后屏蔽

3.1 事前加密

HTTPS

很大一部分HTTP劫持,主要的原因就是在传输数据时都是明文的,使用了HTTPS后,会在HTTP协议之上加上TLS进行保护,使得传输的数据进行加密,但是使用HTTPS,一定要注意规范,必须要全站使用HTTPS,否则只要有一个地方没有使用HTTPS,明文传输就很有可能会被HTTP劫持了

但是相应的,全部使用HTTPS,也会带来一些问题:

  • 性能可能有所降低,因为多了TLS握手所带来的2次RTT延时(但是基于HTTPS之上的HTTP2可以更有效的提升性能)
  • 由于运营商可能会使用DNS劫持,在DNS劫持之下,HTTPS的服务完全用不了了,所以会导致白屏

加密代理

加密代理的原理就是在用户侧和目标web服务器之间增加一个代理服务器,在用户和代理之间会经过运营商的节点,这里使用各种加密手段保证安全,在代理服务器与web服务之间使用HTTP请求,只需确认代理与web服务之间不会被HTTP劫持就可以避开HTTP劫持

3.2 事中加密

拆分HTTP请求数据包

在HTTP劫持的步骤中,第一步是标记TCP连接,因此只要躲过了标识,那么后续的运营商篡改就不会存在了,有一种方式就是拆分HTTP请求

拆分数据包就是把HTTP请求的数据包拆分成多个,运营商的旁路设备由于没有完整的TCP/IP协议栈,所以就不会被标志,而目标web服务器是有完整的TCP/IP协议栈,能接收到的数据包拼成完整的HTTP请求,不影响服务.

3.3 事后屏蔽

通过浏览器Api,根据若干规则去匹配DOM中的节点,对匹配到的节点作拦截和隐藏

CSP(内容安全策略),DOM事件监听等。

CSP是浏览器附加的一层安全层,用于对抗跨站脚本与数据注入,运营商植入内容性质与数据注入类似,因此,可以用CSP对抗运营商劫持。通过在HTTP响应头或meta标签设置好规则,支持拦截和上报劫持信息的功能。

DOM事件监听主要是监听DOMNodeInserted、DOMContentLoaded、DOMAttrModified等事件,可以在前端DOM结构发生变化时触发回调,这时补充一些检测逻辑,即可判断是不是业务的正常UI逻辑,如果不是,即可认为是来自劫持.

深入浅出FE(九)DNS和HTTP劫持问题相关推荐

  1. 2008R2Win7管理九DNS冗余和恢复

    2008R2Win7管理九DNS冗余和恢复 本文介绍如何在ad中的主dns崩溃后快速利用备份dns将主dns恢复.以及在主dns完好的时候进行dns冗余备份 本文在file这台服务器上安装好dns角色 ...

  2. 联通宽带显示dns服务器黄色,怎么查看联通宽带dns是否被劫持

    路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网DNS劫持一般分2种情况,第一种情况是电脑DNS被劫持,第二种情况是 ...

  3. 关于DNS、HTTP劫持的一些事

    1.什么是DNS劫持? DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的 ...

  4. 计算机网络(8) ——url-页面过程、DNS寻址、劫持专题

    计算机网络(8) --url-页面过程.DNS寻址.劫持专题 文章目录 计算机网络(8) --url-页面过程.DNS寻址.劫持专题 1.浏览器输入url后经历的过程 2.DNS寻址/域名解析过程? ...

  5. 遇到DNS运营商劫持怎么办、运营商劫持的解决方法有那些

    运营商劫持在如今很普遍,相信很多人还不清楚,什么是运营商劫持?遇到DNS运营商劫持怎么办?本次在这里就为大家科普下. 什么是运营商劫持? 运营商是指那些提供宽带服务的ISP,包括三大运营商中国电信.中 ...

  6. 【KALI网络安全】DNS攻击(劫持和欺骗)与网络钓鱼的模拟和预防(1)

    1.DNS概述 关于DNS的定义,作用,分类以及工作原理,博主已在[Windows Server 2019]DNS服务器的配置与管理--理论]这篇博客中陈述过. 要预防DNS劫持,必须了解它的攻击原理 ...

  7. DNS 居然被劫持了?网页广告乱跳 DNS 被篡改小记(图)

    转自:http://www.hack520.com/353.html 有时候会去国外的网站上下载一些软件供测试学习,前几天下载了一个破解补丁,大家都知道,杀毒软件会对此类程序报毒,所以运行前还特意关闭 ...

  8. 手机 APP 无法连接服务器,DNS被篡改被劫持?

    通常,在开发手机 APP 的时候,与服务器的连接都是通过域名来访问服务器,然而就会遇到一些不法分子对 DNS进行劫持,进行篡改,导致无法连接服务器,或者返回期望之外的结果,用户流失甚至财产损失. HT ...

  9. linux安装docker并搭建DNS服务器,劫持百度小实验

    一.安装docker 菜鸟程序centos安装教程 菜鸟程序windows安装教程 systemctl start docker // 启动docker docker -v //检测docker是否安 ...

最新文章

  1. UNL(Ubiquitous Navigation Lab)
  2. 厚积薄发的90后:读博前三年零文章,后期发力产出11篇一作,现任985高校博导...
  3. 【阅读笔记】Thinking in Java 对象入门
  4. 2. Web Dynpro for ABAP :Component Controller
  5. OpenCV优化:图像的遍历4种方式
  6. Selenium备忘手册 [转]
  7. html整体移动,html 可以拖动多个div
  8. 推荐系统之CTR预估-FNN模型解析
  9. 2.分布式服务架构:原理、设计与实战 --- 彻底解决分布式系统一致性的问题
  10. Android 设计模式:(一)策略模式 —— 封装行为的大局观
  11. 91 全能地图下载器和 bigemap地图下载器哪个好用?
  12. YOLOv2论文中英文对照翻译
  13. 问题:VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path
  14. python关键词排名批量查排名_[代码全屏查看]-Python 批量获取Baidu关键词的排名并入库...
  15. Python实现求众数的三种方法
  16. 交互设计师需要具备什么样的专业能力
  17. 关于我用过的机械键盘
  18. 卡刷刷机包出现 Error 7
  19. 生物制药专业与计算机应用文献,生物制药技术专业求职信范文3篇
  20. WIN8.1下Prolific USB-to-Serial Comm Port驱动黄色感叹号问题

热门文章

  1. Picasa 3很不错!
  2. Redis 哨兵集群实现高可用
  3. java中{0}占位符的使用
  4. C语言消除未使用变量的警告
  5. 优化itmo官网总结
  6. ABB机器人学习之控制杆知多少
  7. Teorex Inpaint魔术棒工具修复图片暗区
  8. 金仓数据库KingbaseES ORACLE_FDW常见问题
  9. 定位详解(固定定位,粘滞定位)
  10. HTML如何修改placeholder属性中文字颜色