当前位置:SEO培训网 > SEO培训案例 >

莆田seo培训:谁控制了我们的浏览器?

发表时间:2018-03-03 | 浏览:37 | 分类:SEO培训案例

本文遵从gpl协议,欢迎转载。

1、现象是什么?

大约从今年年初开始,很多人就发现,在浏览一些网站的时候,地址栏的url后面会被莫名其妙地加上“?curtime=xxxxxxxxxx”(x为数字),并且弹出广告窗口。


莆田seo培训:谁控制了我们的浏览器?

很多人以为这是网站自己弹出的广告,也就没有在意。

我是属于很在意的那些人之一。

2、这是怎么回事?

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


莆田seo培训:谁控制了我们的浏览器?

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

那么剩下唯一的可能就是:有人在某个或某几个关键网络节点上安装了inject设备,劫持了我们的http会话——我实在是不愿相信这个答案,这个无耻、龌龊的答案。莆田seo培训伟大的谢洛克(谢洛克)·福尔摩斯说过:当其他可能都被排除之后,剩下的,即使再怎么不可思议,也一定是答案。

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

http/1.1404objectnotfoundserver:microsoft-iis/5.0date:mon,19jul200412:57:37gmtconnection:closecontent-type:text/htmlcontent-length:111

〈html〉〈head〉〈title〉sitenotfound〈/title〉〈/head〉〈body〉nowebsiteisconfiguredatthisaddress.〈/body〉〈/html〉

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

http/1.1200okcontent-type:text/html

〈html〉〈metahttp-equiv='pragma'content='no-cache'〉〈metahttp-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〉莆田seo培训更进一步分析数据包,可知劫持流程如下:

a、在某个骨干路由器的边上,躺着一台旁路的设备,监听所有流过的http会话。这个设备按照某种规律,对于某些http请求进行特殊处理。

b、当一个不幸的http请求流过,这个设备根据该请求的seq和ack,把早已准备好的数据作为回应包,发送给客户端。这个过程是非常快的,我们的http请求发出之后,仅过了0.008秒,就收到了上面的回应。而任何正常的服务器都不可能在这么短的时间内做出回应。

c、因为seq和ack已经被伪造的回应用掉了,所以,真正的服务器端数据过来的时候,会被当作错误的报文而不被接受。

d、浏览器会根据〈metahttp-equiv='refresh'content='0;url=?curtime=1091231851'〉这一行,重新对你要访问的url进行请求,这一次,得到了请求的真正页面,并且调用window.open函数打开广告窗口。莆田seo培训在google中以“php?curtime”、“htm?curtime”、“asp?curtime”为关键字搜索,出现的基本上是国内网站,这表明,问题出在国内。用于inject的设备插在国内的某个或某几个大节点上。莆田seo培训真相大白。我们被愚弄了,全中国的网民都成了某些人的赚钱工具。

3、现在怎么办?

在坏家伙被捉出来之前,我们要想不受这个玩意的骚扰,可以考虑下面的方法:莆田seo培训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设备的地方!莆田seo培训方法2:莆田seo培训假如坏家伙也看到了这篇文章,修改了ttl,我们仍然有办法。在google上以下面这些关键字搜索:php?curtime,htm?curtime,asp?curtime,可以得到大量访问时会被inject的网址。编写脚本反复访问这些网址,验证从你的ip访问过去是否会被inject。将确实会被inject的结果搜集起来,在不同的网络接入点上挨个用traceroute工具进行路由回溯。分析回溯的结果。莆田seo培训上面我们已经说明了,坏家伙是在某个或者某些重要节点上安插了inject设备,那么这个节点必然在被inject的那些网址到我们的ip之间的某个位置上。例如有a、b、c、d四个被inject到的网站,从四个地方进行路由回溯的结果如下:

myip-12-13-14-15-65-[89]-15-57-amyip-66-67-68-69-85-[89]-45-68-84-52-44-bmyip-34-34-36-28-83-[89]-45-63-58-64-48-41-87-cmyip-22-25-29-32-65-45-[89]-58-d

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

方法3:莆田seo培训另一方面,可以从存放广告业面的211.147.5.121这个ip入手,whois查询结果如下:

inetnum:211.147.0.0-211.147.7.255netname:dynegy-communicationdescr:dynegy-communicationdescr:co.ltddescr:beijingcountry:cnadmin-c:pp40-aptech-c:sd76-apmnt-by:maint-cnnic-apchanged:hui_zh@sina20011112status:allocatedportablesource:apnic

person:pangpatricknic-hdl:pp40-ape-mail:bill.pang@bj.datadragonaddress:fl./8,southbuilding,bridgemansion,no.53phone:+86-10-63181513fax-no:+86-10-63181597country:cnchanged:ipas@cnnic20030304mnt-by:maint-cnnic-apsource:apnic

person:shoulanduaddress:fl./8,southbuilding,bridgemansion,no.53country:cnphone:+86-010-83160000fax-no:+86-010-83155528e-mail:dsl327@btamailnic-hdl:sd76-apmnt-by:maint-cnnic-apchanged:dsl327@btamail20020403source:apnic

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

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

6、我是谁?

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

#!/usr/bin/perl-w

usedigest::md5qw(md5md5_hexmd5_base64);

$name='myname';$count=mycount;

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

print$name;

以下签名,用于以后可能出现的关于此文的交流:16631876c2aea042934a5c4aaeabb88e92a6a607b3bcff63980164d793ff61d17036a58e8148eb75ce9c592236ef66a34484ded96d29f7b49d0dd3f9d171873563105cc603145bb5901a0ec8ec815d83eea66

注:本文为转载,作者tombkeeper,发布日期为:2004.7.20。


标签: 莆田seo培训 

SEO专题