现在各种运营商的劫持都比较猖獗,可能不少小伙伴都处理过劫持事件,一般的处理过程可参考http://security.tencent.com/index.php/blog/msg/10与http://security.tencent.com/index.php/blog/msg/81
抓包的方法这里提一下,打开一般都是手机连接wifi,电脑上设置代理,但是有些劫持发生在3g、4g这种,给大家提供两种抓包方法:
1.手机共享wifi,电脑上连接后模拟手机请求(有些时候这种做法无法复现劫持情况)
2.安卓:http://jingyan.baidu.com/article/acf728fd0802def8e510a3ae.html(这个现搜的,没亲自尝试)
IOS:http://www.cnblogs.com/wupher/archive/2013/03/25/2980161.html (本例中电脑模拟请求无法复现劫持情况,使用该方法抓的包)
抓包的方法这里提一下,打开一般都是手机连接wifi,电脑上设置代理,但是有些劫持发生在3g、4g这种,给大家提供两种抓包方法:
1.手机共享wifi,电脑上连接后模拟手机请求(有些时候这种做法无法复现劫持情况)
2.安卓:http://jingyan.baidu.com/article/acf728fd0802def8e510a3ae.html(这个现搜的,没亲自尝试)
IOS:http://www.cnblogs.com/wupher/archive/2013/03/25/2980161.html (本例中电脑模拟请求无法复现劫持情况,使用该方法抓的包)
wireshark打开数据包,首先看tcp握手时返回的ttl
本次劫持的现象是打开app某功能后就自动跳转到游戏的推广页面,我们找到跳转前请求的数据包,ttl如下
可以发现ttl从正常的45变成了250,至此结合发生的现象基本可判断为劫持(这里ttl是250,unix设备ttl从255开始,也就是第五跳,结合你tracert到目标的结果,第五跳的那个ip基本就是劫持设备,不过ttl也可以伪造,所以不能100%确认),是怎么劫持的呢?我们看下劫持前返回的html内容,右键数据包,选择“follow TCP Stream”,发现内容gzip压缩了,以raw方式把此数据包保存到本地
用十六进制编辑器打开保存的文件,我这里使用的是Hex Fiend(http://ridiculousfish.com/hexfiend/)
删除前面无用部分,找到以1F8B开头的gzip段
这里正常的话字节数与http包中Content-Length的值相等,如果不同的话因为格式错误解压gzip时会异常
解压后打开文件,在最下面找到了异常内容