PS:不确定文章中的内容会不会被和谐 互联网中劫持可以理解为正常用户的请求在返回响应之前响应内容被篡改,或者正常用户的请求内容被非法获取从而代为请求。无论是个人还是公司或多或少都会碰到劫持这类事情,无论小到ARP攻击、还是大到运营商的链路劫持、甚至天朝的G*F*W。笔者在一家互联网公司工作,只是根据碰到的一些情况来进行浅谈,深而广的内容只能让有更多经验的来谈了,对于本文的内容也欢迎各位拍砖。
一、DNS劫持
先来谈下DNS劫持。在去年的”斯巴达“期间,公司的业务监控部门监测到公司的一个业务的访问量骤降,同时运维部门也监测该业务的域名在全国大面积运营商的DNS服务器返回的A记录被修改为一个不是我们的IP:61.49.43.2。时间主要集中在上网的高峰期,持续一个小时左右。下图为DNS解析的抓包(图一)。
20130527212642_36164.png 图一 最初以为是对运营商DNS的投毒攻击,不过随着分析的深入发现,在受影响的地区,递归到13台根DNS服务器返回的都是这个IP,看来不只是简单的对运营商DNS的投毒攻击。 并且我们对 61.49.43.2 这个IP也进行了分析,发现其为一台Nginx的反向代理服务器,用户访问我们的业务,其在返回的页面中插入一段JS代码,功能就是在用户登录之前先获取用户输入框中的用户和密码(业务本身传输密码是加密的),然后再提交到这个服务器的一个页面。最后恢复用户的正常登陆。整个过程用户几乎感受不到影响。 同时我们还发现有其他互联网公司的该业务会受到影响,如果直接把其他公司同类业务的域名解析到这个IP上,发现插入的代码会根据业务而变化,很有针对性。甚至gmail都有影响。 下面是被插入的JS代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
阅读(1217) | 评论(0) | 转发(0) |