admin 管理员组文章数量: 887021
CMCC
模拟登陆就是搞明白浏览器登陆的工作方式,使用喜欢的语言来编制自己的软件来模拟浏览器的过程。在分析CMCC-EDU登陆过程中,我使用的工具是 IE9和 HTTP Analyzer V7.
IE9自带的开发人员工具(按F12)可以实现网络抓包,使用过程也比较简单,而且可以过滤一些浏览器插件的网络数据包,但是在使用过程中我发现有个bug,最好能结合HTTP Analyzer来对照,避免出错。但是来分析大概的流程还是很方便的。
HTTP Analyzer V7 能够对包括IE在内的任何软件进行抓包,可以很方便的检测自己软件发送的数据包是否正确。
1.获取登陆数据包的步骤
1、打开IE9,打开空白网页
2、按F12,F12开发人员工具,再切换到网络界面,选择清除 cookie 和 缓存
3、点击 “开始捕获按钮”,开始网络抓包
4、在地址栏输入测试网址 ,登陆CMCC-EDU校园网
可以看到下方已经抓到很多数据包:
5、登陆成功后按下停止捕获按钮,开始分析。
2.网络登陆过程分析
面对这么多的数据包,其实有很多是没有用的,例如一些图片的下载,这样可以简化分析流程,主要分析的内容也是POSE请求和带参数的GET。
2.1先找出核心登陆的网络地址,一般是POST 提交保密的的消息到服务器。
可以看到有一条数据是在单击时(也就是点击登陆按钮时)提交的。
查看其post数据的请求正文:
果然是刚输入的手机号码和密码及验证码,这样关键数据就得到了。
再看请求的网址:
http://218.200.239.185:8888/portalserver/user/unionlogin.do?brasip=221.182.42.30&braslogoutip=221.182.42.30&area=union&wlanuserip=10.100.67.23&redirectUrl=example/cnunion/cnunion&domain=@chinamobile
多次登陆之后其他的部分都没变化,唯一变化的就值红色的IP 地址。通过wlanuserip和查看自己的IP确认这个就是本机的IP地址。这样这个POST数据的网络地址也可以构造了。
2.2在下登陆按钮之前,还有一个序号为22 POST请求, 查看请求正文
中间的数据比较多,但比较明显可能有变化的就是 划线的两个参数,因为服务器也不是检测上传的每个数据。通过在全文中索,发现其中的httpSessionId=D13B289473F303961EDB55E226481FB7就是服务器设置的 cookie,这个是在刚访问登陆界面(第2条请求时)服务器就在本机设置的。
而scriptSessionId=F51325060A121C027454092A7BD8B4E4583 在第6 GET次的engine.js文件中出现。
但是发送给服务器的的内容在末尾却多了3位字符。
2.3查看该脚本的内容:
通过搜索发现,是在原_origScriptSessionId的基础上加了一个范围1000的随机数。虽然现在我们不懂它是什么意思,但是也还是可以使用语言去模拟。这样又解决一个参数问题。同时也要多一个请求 即:GET enjin.js 文件,提取中间的_origScriptSessionId。
关于其他的参数,经过多次的登陆抓包比较,发现每次都一样,并且在前文中也没有发现相关的信息,所以暂时认为是常量字段。直接按照结构构造就行,有问题再回来看。
2.4在第7 次请求中,响应正文是一张验证码
关于本验证码的识别在 这里.
而且每次的GET请求地址都相同,那服务器靠什么区分呢。经过分析,那就是每次请求的不同之处 cookie ,那么在GET时就要带上cookie.
2.5在第4次请求中,GET网址带了参数 (以&= ***的形式)
http://218.200.239.185:8888/portalserver/user/unionlogin.do?brasip=221.182.42.30&braslogoutip=221.182.42.30&area=union&wlanuserip=10.100.67.23&redirectUrl=example/cnunion/cnunion&domain=@chinamobile
发现和2.1POST的网址相同,下面是他的参数(使用HTTP Analyzer V7查看)。
唯一的变化也是红色的IP地址,所以下面要去看这个IP地址从哪来的。
2.6通过全文搜索IP wlanuserip=10.100.67.23,在请求1的响应数据中发现这个地址
这是Location 地址,也就是下一步跳转的地址。查看请求2,果然访问的是这个地址。
这样IP地址也获取到了。
2.7 cookie
Cookie 在本次登陆中多次使用到,下面就查看cookie的来源,经过看看只有在请求1和请求2中的响应头中有Set-COOKIE 字段,而请求1是访问的www.baidu,其设置的cookie对我登陆没用,只有请求2中的cookie才是正确的。
3、 登陆流程整体的分析
上面的是具体的登陆过程分析,现在是整体登陆过程的的汇总
4、总结
通过以上的分析,基本弄清CMCC-EDU登陆的流程,我也使用MFC 成功实现了登陆 软件下载。
模拟网页登陆就是个心细活儿,只要好好利用工具多次比对每次的差异,就能容易的实现过程分析。以上的过程也不是一次就分析成功的,需要在自己的模拟登陆程序中一步步的去检测,对比是服务器的返回否相同(比如确定哪些提交数据时每次都相同的,不需要特别的构造)。
本文标签: CMCC
版权声明:本文标题:CMCC 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1697658104h273106.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论