您的位置:首页>>基础知识>>网络基础

知识文章:是谁控制了我们的浏览器?

 
知识文章:是谁控制了我们的浏览器?
·知识文章:是谁控制了我们的浏览器?()
本文遵从GPL协议,欢迎转载。
  、现象是什么?
  大约从今年年初开始,很多人就发现,在浏览一些网站的时候,地址栏的url后面会被莫名其妙地加上“?curtime=xxxxxxxxxx”(x为数字),并且弹出广告窗口。很多人以为这是网站自己弹出的广告,也就没有在意。
  我是属于很在意的那些人之一。
  、这是怎么回事?
  经过测试和分析,我们发现,上述现象与使用何种浏览器无关(我们测试了各种流行的http客户端),与使用何种操作系统也无关(linux用户也有相关报告)。我对出现该现象的IE浏览器进程进行了跟踪调试,没有发现任何异常。可以断定,并不是系统被安装了adware或者 yware。
  那么是不是那些网站自己做的呢?后来发现,访问我们自己管理的网站时也出现了这种情况,排除了这个可能。
  那么剩下唯一的可能就是:有人在某个或某几个关键网络节点上安装了inject设备,劫持了我们的HTTP会话——我实在是不愿相信这个答案,这个无耻、龌龊的答案。
  伟大的谢洛克·福尔摩斯说过:当其他可能都被排除之后,剩下的,即使再怎么不可思议,也一定是答案。
  为了验证这个想法,我选择了一个曾经出现过上述现象的网站附近网段的某个IP。直接访问这个IP的HTTP服务,正常情况下是没有页面的,应该返回 0错误。我写了一个脚本。不断访问这个IP,同时记录进出的数据包。在访问进行了0次的时候,结束请求,查看数据。0次请求中,8次返回的都是正常的0错误:
HTTP/. 0 Object Not Found
Server: Microsoft-IIS/5.0
Date: Mon, 9 Jul 00 :57:7 GMT
Co ection: close
Content-Type: text/html
Content-Length:
〈html〉〈head〉〈title〉Site Not Found〈/title〉〈/head〉
〈body〉No web site is configured at this addre .〈/body〉〈/html〉
  但是有两次,返回了这个:
HTTP/. 00 OK
Content-type: text/html
〈html〉
〈meta http-equiv='Pragma' content='no-cache'〉
〈meta http-equiv='Refresh' content='0;URL=?curtime=0985'〉
〈script〉
window.open('http://.7.5./DXT06-005.htm','', 'width=00,height=0');
〈/script〉
〈head〉
〈title〉〈/title〉
〈/head〉
〈body〉
〈/body〉
〈/html〉
  更进一步分析数据包,可知劫持流程如下:
  A、在某个骨干路由器的边上,躺着一台旁路的设备,监听所有流过的HTTP会话。这个设备按照某种规律,对于某些HTTP请求进行特殊处理。
  B、当一个不幸的HTTP请求流过,这个设备根据该请求的seq和ack,把早已准备好的数据作为回应包,发送给客户端。这个过程是非常快的。我们的 HTTP请求发出之后,仅过了0.008秒,就收到了上面的回应。而任何正常的服务器都不可能在这么短的时间内做出回应。
  C、因为seq和ack已经被伪造的回应用掉了,所以,真正的服务器端数据过来的时候,会被当作错误的报文而不被接受。
  D、浏览器会根据〈meta http-equiv='Refresh' content='0;URL=?curtime=0985'〉这一行,重新对你要访问的URL进行请求,这一次,得到了请求的真正页面,并且调用window.open函数打开广告窗口。
  在google中以“php?curtime”、“htm?curtime”、“a ?curtime”为关键字搜索,出现的基本上是国内网站,这表明,问题出在国内。用于inject的设备插在国内的某个或某几个大节点上。
  真相大白。我们被愚弄了,全中国的网民都成了某些人的赚钱工具。

·知识文章:是谁控制了我们的浏览器?()
  、现在怎么办?
  在坏家伙被捉出来之前,我们要想不受这个玩意的骚扰,可以考虑下面的方法:
  A、请各单位的网络管理员,在网络的边界设备上,完全封锁.7.5.。
  B、在你自己的个人防火墙上,完全封锁.7.5.。
  C、如果你的浏览器是FireFox、Opera、Gree rowser、或者MyIE,可以把“http://.7.5./*
  绝不只是广告那么简单,这涉及到我们的选择,我们的自由,这比垃圾邮件更加肮脏和无耻。今天是广告,明天就可能在你下载软件的时候给你加个adware或者加个病毒进去,谁知道呢?我们的HTTP通信完全控制在别人手里。
  、如何把坏家伙揪出来?
  如果你是一个有权力调查和处理这件事的人,从技术上,可以考虑下面的手段:
  方法:
  伪造的回应数据中并没有处理TTL,也就是说,我们得到的回应数据中TTL是和inject设备位置相关的。以我收到的数据包为例,真实的服务器端回应 TTL是07,伪造的回应TTL是5。那么,从我们这里到被请求的服务器之间经过了(8-07)个节点,从我们这里到inject设备经过了(6-5)个节点。只需要traceroute一下请求的服务器,得到路由回溯,往外数第个节点就是安插inject设备的地方!
  方法:
  假如坏家伙也看到了这篇文章,修改了TTL,我们仍然有办法。在google上以下面这些关键字搜索:php?curtime,htm? curtime,a ?curtime,可以得到大量访问时会被inject的网址。编写脚本反复访问这些网址,验证从你的ip访问过去是否会被 inject.将确实会被inject的结果搜集起来,在不同的网络接入点上挨个用traceroute工具进行路由回溯。分析回溯的结果。
  上面我们已经说明了,坏家伙是在某个或者某些重要节点上安插了inject设备,那么这个节点必然在被inject的那些网址到我们的IP之间的某个位置上。例如有A、B、C、D四个被inject到的网站,从四个地方进行路由回溯的结果如下:
MyIP----5-65-[89]-5-57-A
MyIP-66-67-68-69-85-[89]-5-68-8-5--B
MyIP---6-8-8-[89]-5-6-58-6-8--87-C
MyIP--5-9--65-5-[89]-58-D
  显然,inject设备极大可能就在“89”所在的机房。
  方法:
  另一方面,可以从存放广告业面的.7.5.这个IP入手,whois查询结果如下:
inetnum: .7.0.0 - .7.7.55
netname: DYNEGY-COMMUNICATION
descr: DYNEGY-COMMUNICATION
descr: CO.LTD
descr: BEIJING
country: CN
admin-c: 0-AP
tech-c: SD76-AP
mnt-by: MAINT-C IC-AP
changed: hui_zh@sina.com 00
status: ALLOCATED PORTABLE
source: A IC
person: Pang Patrick
nic-hdl: 0-AP
e-mail: bill.pang@bj.datadragon.net
addre : Fl./8, South Building, Bridge Ma ion, No. 5
phone: 86-0-685
fax-no: 86-0-68597
country: CN
changed: ipas@c ic.net.cn 0000
mnt-by: MAINT-C IC-AP
source: A IC
person: ShouLan Du
addre : Fl./8, South Building, Bridge Ma ion, No. 5
country: CN
phone: 86-00-860000
fax-no: 86-00-85558
e-mail: dsl7@btamail.net.cn
nic-hdl: SD76-AP
mnt-by: MAINT-C IC-AP
changed: dsl7@btamail.net.cn 0000
source: A IC
·知识文章:是谁控制了我们的浏览器?()
  5、我为什么要写这篇文章?
  新浪为我提供桃色新闻,我顺便看看新浪的广告,这是天经地义的;或者我安装某某网站的广告条,某某网站付给我钱,这也是天经地义的。可是这个 .7.5.既不给我提供桃色新闻,又不给钱,却强迫我看广告,这就严重伤害了我脆弱而幼小的心灵。事实上,你可以敲诈克林斯·潘,强奸克里奥·佩德拉,咬死王阳明,挖成吉思汗墓,我都不会计较,但是现在你既然打搅了我的生活,我就不得不说几句了。
  6、我是谁?
  如果你知道MyName,又知道MyCount的话,那么,用下面这段perl可以得到:ff587a80cd d870a68 88。
#!/usr/bin/perl -w
use Digest::MD5 qw(md5 md5_hex md5_base6);
$name = 'MyName';
$count = MyCount;
for ($i=0; $i〈$count; $i )
{
$name = md5_hex($name);
}
print $name;
以下签名,用于以后可能出现的关于此文的交流:
66876caea09a5caaea 88e9
a6a607 cff69806d79ff6d70
6a58e88eb75ce9c596ef66a8
ded96d9f7b9d0ddf9d787560
5 cc605 590a0ec8ec85d8eea66

查看上一页  返回分类首页 返回96PC首页  查看下一页

  版权所有:电脑知识大全 网站备案:粤ICP备07031496号  联系我们

友情链接:母婴知识  外贸商务网  娱乐频道  汽车维修知识  股票入门知识  游戏攻略秘籍  本站空间由安信网络提供