中间人攻击之DNS劫持
一、原理
用户正常访问网站的过程:
1. 用户在浏览器中输入网址;
2. 浏览器查找域名对应的IP地址(DNS查询);
图1 基本过程示意(DNS Cache)
DNS查找过程:浏览器缓存-->系统缓存-->Host配置-->ISP DNS缓存-->DNS迭代搜索;使用Wireshark工具抓取本机(192.168.1.100)与DNS(223.6.6.6)之间的通信如下:
图2 DNS解析请求与应答
图3 DNS解析请求
图4 DNS解析请求的响应
3. 浏览器给web服务器发送一个HTTP请求(GET/POST);
a. 建立通信连接的三次握手;
b. 发送HTTP(over TCP/IP) 请求;
图5 建立TCP连接及HTTP请求/响应
4. 服务器“处理”请求并发回一个HTML响应;
5. 浏览器接收并开始显示HTML;
6. 浏览器发送请求获取嵌入在HTML中的对象;
7. 服务器发送针对该请求的响应,浏览器接收并做相关处理;
8. 浏览器发送异步请求(AJAX)。说明:如果有异步请求的话,比如点击按钮登录或做查询等等;
DNS:
DNS是域名系统(Domain Name System)的缩写,是Internet的一项核心服务。
DNS域名结构:主机名.三级域名.二级域名.顶级域名(blog.youkuaiyun.com)。
二、攻防
DNS相关的攻击类型:
1.针对DNS服务器的DDOS攻击
2.针对用户的DNS劫持
三、思考及扩展
修订:
参考:
What Is DNS? https://technet.microsoft.com/en-us/library/cc787921(v=ws.10).aspx
How DNS Works https://technet.microsoft.com/en-us/library/cc772774(v=ws.10).aspx
阿里DNS http://www.alidns.com/
维基百科 https://en.wikipedia.org/wiki/Domain_Name_System
DNS体系结构 https://msdn.microsoft.com/ZH-CN/library/dd197427
What Is DNS? https://technet.microsoft.com/en-us/library/cc787921(v=ws.10).aspx
How DNS Works https://technet.microsoft.com/en-us/library/cc772774(v=ws.10).aspx
阿里DNS http://www.alidns.com/
维基百科 https://en.wikipedia.org/wiki/Domain_Name_System
DNS体系结构 https://msdn.microsoft.com/ZH-CN/library/dd197427
注: