- UID
- 93678
- 积分
- 20
- 威望
- 0
- 桐币
- 0
- 激情
- 21
- 金币
- 0
- 在线时间
- 8 小时
- 注册时间
- 2013-3-9

文都童生

- 积分
- 20
 鲜花( 0)  鸡蛋( 0)
|

楼主 |
发表于 2013-3-10 17:33:33
|
显示全部楼层
李慢慢 发表于 2013-3-10 16:35 
ISP目前确实会做DNS劫持,但是你所说的加木马基本不可能。
电信部门有人在某个或某几个关键网络节点上安装了inject设备,劫持了我们的HTTP会话。
分析数据包,可知劫持流程如下:
A、在某个骨干路由器的边上,躺着一台旁路的设备,监听所有流过的HTTP会话。这个设备按照某种规律,对于某些HTTP请求进行特殊处理。
B、当一个不幸的HTTP请求流过,这个设备根据该请求的seq和ack,把早已准备好的数据作为回应包,发送给客户端。这个过程是非常快的,我们的 HTTP请求发出之后,仅过了0.008秒,就收到了上面的回应。而任何正常的服务器都不可能在这么短的时间内做出回应。
C、因为seq和ack已经被伪造的回应用掉了,所以,真正的服务器端数据过来的时候,会被当作错误的报文而不被接受。
D、浏览器会根据〈meta http-equiv='Refresh' content='0;URL=?curtime=10912*****'〉这一行,重新对你要访问的URL进行请求,这一次,得到了请求的真正页面,并且调用window.open函数打开广告窗口。
如何把坏家伙揪出来?
如果你是一个有权力调查和处理这件事的人,从技术上,可以考虑下面的手段:
方法1、
伪造的回应数据中并没有处理TTL,也就是说,我们得到的回应数据中TTL是和inject设备位置相关的。以我收到的数据包为例,真实的服务器端回应 TTL是107,伪造的回应TTL是53。那么,从我们这里到被请求的服务器之间经过了21(128-107)个节点,从我们这里到inject设备经过了11(64-53)个节点。只需要traceroute一下请求的服务器,得到路由回溯,往外数第11个节点就是安插inject设备的地方!
方法2:
假如坏家伙也看到了这篇文章,修改了TTL,我们仍然有办法。在google上以下面这些关键字搜:php?curtime,htm?curtime,asp?curtime,可以得到大量访问时会被inject的网址。编写脚本反复访问这些网址,验证从你的ip访问过去是否会被inject。将确实会被inject的结果搜集起来,在不同的网络接入点上挨个用traceroute工具进行路由回溯。分析回溯的结果。
上面我们已经说明了,坏家伙是在某个或者某些重要节点上安插了inject设备,那么这个节点必然在被inject的那些网址到我们的IP之间的某个位置上。
方法3:......
|
|