Google
      
发新话题
打印

关于电信广告劫持的一点点研究

关于电信广告劫持的一点点研究

关于电信广告劫持的一点点研究




无聊之余,将电信的广告劫持写一下。此文的研究方式很多高手都不屑,全当无事消遣吧。

我们这里的电信ISP很流氓,当用户在拨号成功后,必须首先上其提供的一个广告首页。巨烦。现在总算是在一个协议分析论坛上发现了分析方法,虽学了点皮毛,但写个简单的、浅显的例子是足够的了。这里只说说大致原理,很多地方不清楚的还请见谅,我的技术很差的说。

言归正传。测试平台:WINXPSP2
抓包软件:IRIS3.7
INTERNET接入方式:1M/S 电信ADSL

我用的是MODERM+路由器连接方式,拨号成功后,使用IRIS开始抓包,上的首页是百度。




DNS是正常的,我就不写了。我这里是山东地区。




这里发现个问题,光这几个包就包含百度首页是不可能的,而且,貌似是通讯结束转了另一个网页,因为后面有新的DNS请求。

好吧,深入一下。




这个是我这里的DNS返回的百度IP,貌似没事。

TOP


传说中的三次握手中的第二次,服务器的回应,貌似也没事。呃,等等,那个TTL怎么回事?255!闹鬼了!(其实这个数据包是电信那里的劫持设备伪造的!)TTL的最大值才是255,这个的意思就是,前面没有经过任何的设备!但这个可能吗?我的机器到百度最起码要经过流氓ISP的某些设备,TTL肯定不可能会是一点也不减少的,难到前面那些设备全是黑盒?经过不减TTL?搞笑!(从这点,我们可以看出,流氓ISP的良苦用心!TTL最大,就是说,这个假包可以传的最远。好狠啊)呃,我的机器开始上当了。




来张大的,从这张图中可以看出(我把我的GET发包忽略了,只看对方的包),TTL还是255,肯定这个也是假的,而且,他还TCP里的PUSH位置1,看来有想结束的兆头了。看看解码,HTTP/1.0 302错误,这个的意思是该网页内容临时重定向(貌似劫持)。




重定向到哪了呢?就是后面的http://www.wftele.net/tisu/

继续看下面的数据包




得,果然要结束了,后面对方紧跟着的数据包FIN位置1 ACK1。后面的就懒得看了,我的机器肯定发2个数据包,一个确认,一个结束。流氓ISP劫持成功。




从那个DNS往后的,就是正常的网页打开流程了,DNS请求DNS应答》三次握手》网页GET请求》回应》确认、请求》确认、回应》确认、请求》确认、回应。。。。。。

总结下,大概劫持是这么一个过程:(这里ISP如何检测到和监听到我的,我还不知道,估计是在拨号的时候)本地主机发送DNS查询,DNS服务器返回结果,本地主机向WEB服务器发送三次握手的第一次时,被ISP设备劫持,而且这个劫持是双向的,同样受到伤害的,不止是我的机器那脆弱的幼小心灵,还有WEB服务器,因为从始至终,未能见到百度服务器给我的包。然后ISP伪装成WEB服务器与我建立三次握手协议,开始通讯,我发送的GET请求,被他的HTTP302临时跳转回应,我的主机错误的认为,请求的资源已经发生了临时性的位移,所以当对方发来结束会话的信息后,我的主机就结束了会话,并且向发生位移的地址发起DNS查询,三次握手后建立连接,开始与流氓ISPWEB服务器进行通讯。

大致就是这么一个过程了。此类症状叫做TCP会话劫持,网通那流氓ISP经常用到的,但是电信比它跟为过之----------双向劫持,网通的是单向的,百度服务器发来的包还是能够收到的只是因为序列号一样,回应的慢被系统丢弃了,所以,可以安装中间层过滤驱动来过滤掉ISP伪造包,可是对付电信就不行了。HTTP301302信息经常被ISP拿来做跳转用,劫持就是这样发生的。

简单分析,一点并不全面的分析,就这样结束了。
一点点陋见,若有错误,还请海涵。

TOP

发新话题