2006年08月20日

来源:月光博客
本文遵从GPL协议,欢迎转载.
  1、现象是什么?
  大约从今年年初开始,很多人就发现,在浏览一些网站的时候,地址栏的url后面会被莫名其妙地加上“?curtime=xxxxxxxxxx”(x为数字),并且弹出广告窗口.很多人以为这是网站自己弹出的广告,也就没有在意.
  我是属于很在意的那些人之一.

  2、这是怎么回事?

   经过测试和分析,我们发现,上述现象与使用何种浏览器无关(我们测试了各种流行的http客户端),与使用何种操作系统也无关(linux用户也有相关 报告).我对出现该现象的IE浏览器进程进行了跟踪调试,没有发现任何异常.可以断定,并不是系统被安装了adware或者spyware.

  那么是不是那些网站自己做的呢?后来发现,访问我们自己管理的网站时也出现了这种情况,排除了这个可能.

  那么剩下唯一的可能就是:有人在某个或某几个关键网络节点上安装了inject设备,劫持了我们的HTTP会话——我实在是不愿相信这个答案,这个无耻、龌龊的答案.

  伟大的谢洛克·福尔摩斯说过:当其他可能都被排除之后,剩下的,即使再怎么不可思议,也一定是答案.

   为了验证这个想法,我选择了一个曾经出现过上述现象的网站附近网段的某个IP.直接访问这个IP的HTTP服务,正常情况下是没有页面的,应该返回 404错误.我写了一个脚本,不断访问这个IP,同时记录进出的数据包.在访问进行了120次的时候,结束请求,查看数据.120次请求中,118次返回 的都是正常的404错误:

HTTP/1.1 404 Object Not Found
Server: Microsoft-IIS/5.0
Date: Mon, 19 Jul 2004 12:57:37 GMT
Connection: close
Content-Type: text/html
Content-Length: 111

〈html〉〈head〉〈title〉Site Not Found〈/title〉〈/head〉
〈body〉No web site is configured at this address.〈/body〉〈/html〉

  但是有两次,返回了这个:

HTTP/1.1 200 OK
Content-type: text/html

〈html〉
〈meta http-equiv=’Pragma’ content=’no-cache’〉
〈meta http-equiv=’Refresh’ content=’0;URL=?curtime=1091231851′〉
〈script〉
window.open(‘http://211.147.5.121/DXT06-005.htm’, ”, ‘width=400,height=330′);
〈/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=1091231851′〉这一行,重新对你要访问的URL进行请求,这一次,得到了请求的真正页面,并 且调用window.open函数打开广告窗口.

  在google中以“php?curtime”、“htm?curtime”、“asp?curtime”为关键字搜索,出现的基本上是国内网站,这表明,问题出在国内.用于inject的设备插在国内的某个或某几个大节点上.

  真相大白.我们被愚弄了,全中国的网民都成了某些人的赚钱工具.

  3、现在怎么办?

  在坏家伙被捉出来之前,我们要想不受这个玩意的骚扰,可以考虑下面的方法:

  A、请各单位的网络管理员,在网络的边界设备上,完全封锁211.147.5.121.
  B、在你自己的个人防火墙上,完全封锁211.147.5.121.
  C、如果你的浏览器是FireFox、Opera、GreenBrowser、或者MyIE,可以把“http://211.147.5.121/*”丢到弹出窗口过滤列表中去.

  绝不只是广告那么简单,这涉及到我们的选择,我们的自由,这比垃圾邮件更加肮脏和无耻.今天是广告,明天就可能在你下载软件的时候给你加个adware或者加个病毒进去,谁知道呢?我们的HTTP通信完全控制在别人手里.

  4、如何把坏家伙揪出来?

  如果你是一个有权力调查和处理这件事的人,从技术上,可以考虑下面的手段:

  方法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之间的某个位置上.例如有A、B、C、D四个被inject到的网站,从四个地方进行路由回溯的结果如下:

MyIP-12-13-14-15-65-[89]-15-57-A
MyIP-66-67-68-69-85-[89]-45-68-84-52-44-B
MyIP-34-34-36-28-83-[89]-45-63-58-64-48-41-87-C
MyIP-22-25-29-32-65-45-[89]-58-D

  显然,inject设备极大可能就在“89”所在的机房.

  方法3:

  另一方面,可以从存放广告业面的211.147.5.121这个IP入手,whois查询结果如下:

inetnum: 211.147.0.0 – 211.147.7.255
netname: DYNEGY-COMMUNICATION
descr: DYNEGY-COMMUNICATION
descr: CO.LTD
descr: BEIJING
country: CN
admin-c: PP40-AP
tech-c: SD76-AP
mnt-by: MAINT-CNNIC-AP
changed: hui_zh@sina.com 20011112
status: ALLOCATED PORTABLE
source: APNIC

person: Pang Patrick
nic-hdl: PP40-AP
e-mail: bill.pang@bj.datadragon.net
address: Fl./8, South Building, Bridge Mansion, No. 53
phone: +86-10-63181513
fax-no: +86-10-63181597
country: CN
changed: ipas@cnnic.net.cn 20030304
mnt-by: MAINT-CNNIC-AP
source: APNIC

person: ShouLan Du
address: Fl./8, South Building, Bridge Mansion, No. 53
country: CN
phone: +86-010-83160000
fax-no: +86-010-83155528
e-mail: dsl327@btamail.net.cn
nic-hdl: SD76-AP
mnt-by: MAINT-CNNIC-AP
changed: dsl327@btamail.net.cn 20020403
source: APNIC

  5、我为什么要写这篇文章?

   新浪为我提供桃色新闻,我顺便看看新浪的广告,这是天经地义的;或者我安装某某网站的广告条,某某网站付给我钱,这也是天经地义的.可是这个 211.147.5.121既不给我提供桃色新闻,又不给钱,却强迫我看广告,这就严重伤害了我脆弱而幼小的心灵.事实上,你可以敲诈克林斯·潘,强奸克 里奥·佩德拉,咬死王阳明,挖成吉思汗墓,我都不会计较,但是现在你既然打搅了我的生活,我就不得不说几句了.

  6、我是谁?

  如果你知道MyName,又知道MyCount的话,那么,用下面这段perl可以得到:2f4f587a80c2dbbd870a46481b2b1882.

#!/usr/bin/perl -w

use Digest::MD5 qw(md5 md5_hex md5_base64);

$name = ‘MyName’;
$count = MyCount;

for ($i=0; $i〈$count; $i++)
{
$name = md5_hex($name);
}

print $name;

以下签名,用于以后可能出现的关于此文的交流:
1 6631876c2aea042934a5c4aaeabb88e9
2 a6a607b3bcff63980164d793ff61d170
3 6a58e8148eb75ce9c592236ef66a3448
4 ded96d29f7b49d0dd3f9d17187356310
5 cc603145bb5901a0ec8ec815d83eea66

2006年08月18日

    最近看了新闻报道,原来除了电力系统,烟草系统才是真正的高薪。浙江烟草系统普通在编员工年收入18万元,还说,在沿海地区的烟草系统,年收入30万、50万都大有人在。可怜我这个沿海地区的公务员,年收入只有2.6万元,还被人指指点点……真后悔当初只是去考公务员,不拼死拼活挤进烟草系统啊。嗯,怒了!!想必和我一样愤怒的人不会少。在此奉劝各位愤怒人士,如果你吸烟的话,就此戒烟吧,烟草系统的钱从哪里来?还不是从你们买烟钱那里来。所以,吸烟人士,要么就不愤怒,要么就戒烟吧。

    总结一下,戒烟不但有利于身体健康,有利于环境,还有利于建设和谐社会。

2006年08月17日
        起初看到新闻说《江泽民文选》的时候,还以为看错,误认为是《毛泽东选集》,多看几眼,才恍然大悟,哦,真的是江泽民,不是毛泽东。像《江泽民文选》这种政治性很强的书,普通老百姓会不会买,大家心知肚明。我家里就有整套的《毛泽东选集》、《邓小平文选》,不过,是老爸单位发的。小时候放假,由于整天被老爸锁在家里,还用来消磨时间。其实在国家的领导人中,有些文学造诣的也是开国之初那些,到了现在,弄个文选出来,只能看理论,文采就……不过,《江泽民文选》的评论也是很多的,国内的不用说,国外的也在狠狠地报道,还从里面挑章节字段出来点评。嗯,就说这么多吧,言多必失。
2006年08月14日

814上午,瑞星全球反病毒监测网在国内截获到两个利用系统高危漏洞进行传播的恶性病毒——魔波(Worm.Mocbot.a)”和“魔波变种B(Worm.Mocbot.b)”。据瑞星客户服务中心统计,目前国内已有数千用户遭受到该病毒攻击。

瑞星反病毒专家介绍说,该病毒会利用微软MS06-040高危漏洞进行传播.当用户的计算机遭受到该病毒攻击时,会出现系统服务崩溃、无法上网等症状。根据分析,"魔波"病毒会自动在网络上搜索具有系统漏洞的电脑,并直接引导这些电脑下载病毒文件并执行。只要这些用户的电脑没有安装补丁程序并接入互联网,就有可能被感染.感染该病毒的计算机会自动连接特定IRC服务器的特定频道,接受黑客远程控制命令。用户的银行卡帐号、密码及其它隐私信息都有可能被黑客窃取。

所以,个人提醒大家要及时升级杀毒软件,下载到本机硬盘的文件要扫描再双击打开。如果你用正版Windows,或者是可升级的D版,那就去下载个补丁打上。补丁下载地址:http://www.microsoft.com/china/technet/Security/bulletin/ms06-040.mspx

2006年08月09日

根据教育部、发展改革委、财政部和国务院侨办近日发出的《关于调整国内普通高校招收海外华侨学生收费标准及有关政策问题的通知》,已录取到国内普通高校学习的海外华侨本科生、专科生、硕士研究生博士研究生,学费标准与在同一学校、同一年级、同一专业学习的国内学生的学费标准一致;同等住宿条件下,住宿费标准一致。

不清楚为什么海外华侨能享受国民待遇。他们不是中国公民,为什么能够享受与国民同等的待遇呢?中国公民缴的税,是国家投资到教育方面的经费的来源。我们辛苦工作缴税,为什么成果就被那些在外国缴税的华侨收割了?国内贫穷没钱交学费的学生很多,请优先解决他们的问题,不要盲目地去讨好那些华侨。

2006年08月07日
       一直不明白农历里的节气是怎么来的,据说是根据农时而来,看着农历的节气,就知道该干什么农活了。农业活动,大多都和天气有关,不过这节气和天气好像关系不大……看看日历,明日立秋,可是,天气还是热得惊人。而处暑却是在823,先立秋,后处暑,和我的印象完全颠倒了,这个暑怎么也和夏联系在一起的吧。呃,真是不明白。
2006年08月03日
        打台风了(liao)。又一次台风来袭,就是0606号台风“派比安”,据说是雨神的意思。ms这次比较大一点,气象台在11点50分的时候发出了台风红色预警信号。本想问问上头,看能不能下午放假。刚要开口的时候,上头发话了:“这次台风可能在今天下午或晚上正面吹袭我们市,下午如果风雨比较大,就不用过来上班了,明天早上大家也看情况吧,特别是住在某某区的同志(这个某某区就是我住的地方),大家要注意防范台风和暴雨,小心安全。”听了直乐,下午无论如何我都不上班了,台风红色预警信号啊,是可以放假滴。嗯,我现在就很舒服地在家里上网了,哈哈!
        附:台风红色预警信号,含义: 6小时内可能或者已经受台风影响,平均风力可达12级以上,或者已达12级以上并可能持续。防御指南:1、进入特别紧急防风状态,建议停业、停课(除特殊行业);2、人员应尽可能呆在防风安全的地方,相关应急处置部门和抢险单位随时准备启动抢险应急方案;3、当台风中心经过时风力会减小或静止一段时间,切记强风将会突然吹袭,应继续留在安全处避风;其它同台风橙色预警信号。
2006年07月31日

EG而已,不要当真!!!

         据说七月初七日是牛郎和织女相会的日子,所以,就称为情人节了。但是,也有个说法是,七月是鬼月,是鬼出来活动的月份,晚上要少出去,以免鬼来找麻烦。为什么牛郎和织女要在这么个鬼出来的活动的月份,挑了个初七,月亮不亮,晚上比较黑的日子来相会呢?真是不明白啊不明白。然后我就很无聊地漫无边际地乱想,终于让我想到了。

       A版本:可能本来就有鬼月,然后牛郎要和织女相会,要挑什么日子好呢?因为那时牛郎和织女的关系还不是很确定,织女又比较害羞。牛郎要想方法把关系确定下来,想了很久,终于想到了,挑鬼月的月光比较少一天,就初七吧。到了那天,他们相会了,本来是只是拖着手散步的,散着散着,到了一个偏僻的地方,牛郎就讲起了鬼故事,然后,织女一害怕,就扑到牛郎的怀里……他们就成了情侣了。
        B版本:本来是没有鬼月这个说法的,牛郎要和织女约好七月初七要相会,因为那时牛郎和织女的关系还不是很确定,织女又比较害羞。牛郎要想方法把关系确定下来,想了很久,终于想到了,到时月光比较少,讲鬼故事吧。到了那天,他们相会了,本来是只是拖着手散步的,散着散着,到了一个偏僻的地方,牛郎就讲起了鬼故事,然后,织女一害怕,就扑到牛郎的怀里……他们就成了情侣了。后来,很多男子都效仿牛郎的做法,久而久之,就传为七月是鬼月了。

2006年07月26日

由于引入了监视器和交通违规抓得严,被拍照“留念”的司机飞速增加,司机都被罚怕了。有段时间,坐出租车到时候,司机开车都是战战兢兢的。多好啊,司机开车小心,我坐车也就不用提心吊胆。不过,好景不长,现在司机们又想到法子逃避罚单了,就是在车牌上做手脚,使照片上的车牌不完整。最开始,是仿照花车,用张写着“百年好合”这类到红纸贴在车牌上,这样,相机就照不到了;接着,发展成随便用报纸贴上,不过这样有风险,交警查车,还是会被罚;然后,就是用各种方法遮盖住一个数字,譬如树叶,泥什么的,这样查车的时候有借口。司机动了手脚后,开车也大胆了,似乎天不怕地不怕了。结果,我现在坐车的时候又开始怕怕了。似乎交警对这些情况也没什么办法。

突发奇想,为什么车牌不加上个电子标签呢?就像我们平时用到的非接触式IC卡,将里面的芯片装在车牌上,芯片上储存些车牌的信息,这样,拍摄违规车辆的时候,电子设备和照相机同时使用,就可以查出真实的车牌,还可以查套牌车。如果芯片中的信息丰富的话,就可以有更多的应用。既然身份证都可以加上芯片,为什么车牌就不可以呢?

2006年07月25日

写得比较客观中肯,所以转了,转自《联合早报》。

        笔者曾经多次强调,从民主政治发生的角度来说,任何国家的国家制度可以分成三类。有一类国家制度必须在民主化之前就加以确立。一旦民主化,这一类国 家制度就很难有希望建立起来。西方发达国家直到今天还在运作的很多国家制度都是在民主化之前建立起来的。正是因为有这些基本国家制度(如法制、官僚系统 等),西方民主才具有稳定性。或者说,在所有稳定的民主国家,都是基本国家制度建设在先,民主化发生在后。另外一类国家制度必须是在民主化发生后才会确 立,如选举制度。还有一类国家制度,它们在民主化之前建立,但在民主化之后会发生很大的变化,例如国家公民权在社会各群体间的分配制度。

   从国家制度建设的角度来看,中国今天所需要的不仅仅是人们追求已久的民主政治,更是基本国家制度建设。很多制度建设和民主化并不很相关,例如统一的市场 制度、统一的暴力管理制度、法制系统、官僚制度、税收制度、金融制度、能够保障国家统一的中央地方关系制度等等。在今天的中国,这些制度还远远不健全。很 难说,民主化能够推动这些方面的制度建设。如果这些基本国家制度没有建设好,民主化就会缺乏生存的制度根基。在很多发展中国家,民主化之所以导致社会政治 的不稳定,关键在于基本国家制度的不健全。

  强调基本国家制度建设并不是要否定民主化的重要性。从世界历史范围看,民主化能否发生取决于各国内部各社会力量对比的变化,因为民主的本质在于一种利益妥协机制。但基本国家制度建设则不然,它要求更多的是理性及其现代观念。

  渴望和追求民主固然合理,但与此同时,也要从经验出发,看看民主政治能够解决哪些问题,不能解决哪些问题,民主化过程中又会产生哪些问题。民主化不能没有,但民主化不能替代基本国家制度建设。