声明
本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
1.背景
1.1网址
aHR0cHM6Ly9wYXNzcG9ydC5qZC5jb20vbmV3L2xvZ2luLmFzcHg=
1.2通过登录接口获取到对应的cookie
2.分析接口
2.1 参数分析
加密的参数为 aksParamsU、aksParamsB
2.2 加密参数位置
搜索大法即可定位
3.参数分析
aksParamsB参数分析
bodyParams分析
很明显是每个参数拼接而来,往前看,找到生成位置
3.1 简要的参数分析
经过分析,参数sa_token、uuid、pubKey、slideAppId是由请求登录界面返回,可以通过re、xpath等手段提取。
参数_t、loginType、useSlideAuthCode、pageSource、pageLocation、firstShowAccountLoginPage、rm、_stk固定即可。
3.2 authcode、seqSid 参数分析
这两个参数跟滑块相关的
seqSid 参数是请求jseqf.html这个包返回的,正则提取即可
authcode参数是slide/s.html这个包的validate参数,此包就是过滑块的包,
过滑块的模型网上有许多,搜一个拿来改就能过,提醒一点:滑块检测了通过时间,所以可以适当让程序睡眠几秒钟,具体自己测试。
3.3 loginname、nloginpwd参数分析
看名字就知道是账号密码,nloginpwd我直接补环境,
进去JSEncrypt,把整个文件扣下来补环境就行了。
3.4 fp参数
fp参数可以先固定
3.5 eid、eid2 参数分析
这两个参数是请求jsTk.do包返回的,其中可以发现需要携带a、d参数才能请求。
图中两个断点分别对应d、a参数生成位置。
a、d 两个参数主要是在检验环境,追进去加密函数
3.5.1 d参数
f 这个数组就是再检验环境,可以除了时间其它固定。
3.5.2 a参数
g参数里面fc是获取cookie的值,可以先固定,这不是重点,fp也可以先固定,但是注意要与之前请求的包的fp相同。
3.5.3 加密函数
两个参数都是走这个加密函数,直接扣下来加密就行了。
3.5.4 结果
3.6 h5st 4.7.4 版本
搞完前面的参数之后接下来就是比较重点的了。还是那句话,代码vmp化。这里采用扣代码。
3.6.1 入口
直接说结果,在一个re的value里,可以发现代码被vmp了
调这段 vmp 是可以发现参数的位置,为了节约时间,后面直接告诉位置
3.6.2 参数一
当你不断调式代码时,来到第一个参数的生成位置。
追进去函数里,vmp,老规矩,一步步分析,不能急,看到有用的函数就扣。
这个函数是在格式化时间。
继续往下走,
后面会进去一段vm里
注意,这段代码是动态的,它是通过请求request_algo这个包返回的。经过测试,发现它返回回来一共有6种算法,分别是SHA256、SHA512、HmacMD5、MD5、HmacSHA256、HmacSHA512,这几种算法都被魔改了。所以为了找齐这几种算法,需要多试几遍,找齐里面的算法。
通过algo这个函数的返回结果后续需要与其它字符串进行拼接。
分别是是与"loginname:你的账号"、"appid:appid&functionId:functionId"进行拼接,然后分别进行MD5加密,当然也是魔改的。
举个例子: 假设我algo返回79284ff3635a099613c370baec2e959557f58a7b5251e2dd147a2bf361a7293f,我账号为123456,
那么第一次拼接后的结果为"79284ff3635a099613c370baec2e959557f58a7b5251e2dd147a2bf361a7293floginname:12345679284ff3635a099613c370baec2e959557f58a7b5251e2dd147a2bf361a7293f",然后MD5加密。
第二次拼接结果为
“79284ff3635a099613c370baec2e959557f58a7b5251e2dd147a2bf361a7293fappid:appid&functionId:functionId79284ff3635a099613c370baec2e959557f58a7b5251e2dd147a2bf361a7293f”,然后MD5。
接着就可以继续往下走。
来到了拼接函数的地方,e参数就是刚刚提到的algo返回的参数第一次拼接的然后MD5结果,t是时间戳,r是格式化后的时间戳,n就是刚刚的参数一,a就是algo返回参数第二次拼接的然后MD5的结果。
至此,h5st参数全部找齐。
结果
末尾贴上效果图
结构图
效果图