首页
社区
课程
招聘
[原创]航旅纵横URL参数的解密
发表于: 2017-8-1 10:23 16584

[原创]航旅纵横URL参数的解密

2017-8-1 10:23
16584

一.打开这个APK 随便点击一个链接 用fiddler进行手机抓包抓到如下数据包

POST http://ume1.umetrip.com/MSky_Front/api/msky/p3/query?encrypt=1 HTTP/1.1

Accept-Language: zh-CN,zh;q=0.8

User-Agent: Mozilla/5.0 (Linux; U; Android 5.1; zh-cn; HUAWEI TAG-CL00 Build/HUAWEITAG-CL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36

Content-Type: application/octet-stream

Content-Length: 722

Host: ume1.umetrip.com

Connection: Keep-Alive

Accept-Encoding: gzip

Cookie: JSESSIONID=559756B55C6ACF8E0F2DBD0EC9F359AB.umeIProductServer14648; X-LB=1.8.9.443301ed

 

z9ulGud4qXQ7+vCjrSeF9++NKAXmPvi3V0fDnJ7pJI9rtptd0I/yoQ/RkhuvSEd6d1f5dRHGphHT

8HQ1V/h5JzW44dc7ppyZsQKFA6BDG1uagnWBpMwST9l0bJUqn0jcKNrposipJ8meJybOqajgdjyU

LaEA5SrpxlQDJkCCzL3rhL4jxj/QGmWgP5a7je+ox2CN/xyJcRWQo8xytVvz1aBYw+uGwb6+aLYv

qAaj55MmTWhm5i3PLhRNEKaJYxSdxoWXWb/ovWZq+T+k3NmJnrdNfismnB2FL3ipvZKEavH2zNMn

MYlARaicSMw5nC4viME07ZhpmnS+YDQa97zPKzXprWS/7tw8O+e4A6oYktvPXXIunnN0K4KrzK22

yrUC8fEZO+law0MEfkbJBkFvMS18GAUn6I4tV9GGE8yNyT/u1N6d+3SCRvlZYCwlb/p0Ef0dXhzd

YzdYFVw1+d0CbA/6k2pbeYtWvI3w+M0yRhMGsbtd1KYYjam6mTh7WVm6sUiUplZ9+P+LBZeGi12X

YA/DIUVr07A6D3odLB5XHGwaFA4XoeKu3HrVRPAS1/DAV+M0dXO2ILkHS3cNBzXHSXE6XqaNl/Tm

nGm6Admj0Kwbp4BZ4qzuQtFaMFI8MeMQGgdYJmd7YKQ8q7HRfC6QfksxiP3oWgRR/tdmHqZvHeaE

ZrRMc9eYkWlb44hcbvUl

这里我们发现这个包的参数是加密的 因为我要做的就是对这些参数解密 于是我脑海中出现一种思路 参数应该在链接附近

于是打开jeb搜索encrypt=1 果然搜索到了 右键q看源码发现代码是经过混淆过的 不过没关系 这里我看到 v0 = a.f + this.d + "?encrypt=1";这样的代码 估计这个就是数据包的链接了 双击d进去 发现d的值为query 那这句代码就很清楚了把链接赋给v0,v0就是链接



这里验证了我的猜想  参数应该在链接附近 于是继续跟着思路走 这里看到得到v0的值后会return  可以知道a方法的返回值就是链接 于是根据jeb的交叉引用 发现有两处会调用a方法



 
 

发现这里是OkGo进行的网络请求发包 红色圆圈里面的a方法是我们得到的链接,后面的请求头,这里要关注的是蓝色圆圈里的内容,我猜想这里就是url的加密后返回的参数  点进a方法去看看 这里C2sBodyWrapNEW了一个对象去给其参数赋值 那么我猜想v1里面放的就是url的参数了 往下看这里看到了MD5的字眼 这里猜想MD5digest应该就是参数加密的key


 


跟进去看看发现会调用getmessage()方法 点进去发现其在native层,调用的so是libumetriprelease.so 




 


通过IDA动态调试分析 这个key是先连接当前日期 然后经过md5,base64加密 然后取其奇数位 所以我猜想服务器端也生成一个这样的key,这个key值应该是和服务器的key相校验 比对key的真实性  或者是校验加密数据的完整性。

继续分析发现u.a方法是打印log的b.a是log的开关



 那么思路来了 b.a=false 改成b.a=true apktool反编译改完后重打包,签名,安装apk打开AndroidStudio看看log输出的都是什么内容

 


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 2
支持
分享
打赏 + 1.00雪花
打赏次数 1 雪花 + 1.00
 
赞赏  CCkicker   +1.00 2017/08/25
最新回复 (15)
雪    币: 277
活跃值: (3358)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
可以发个app分析下么。。或者提示是某航
2017-8-1 11:24
0
雪    币: 116
活跃值: (354)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
网盘链接:  https://pan.baidu.com/s/1o78OBXK  密码:  7mw6 
2017-8-1 12:27
0
雪    币: 241
活跃值: (231)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
  不错  希望楼主多分享一些这样的文章  思路很清晰  很不错的教程
2017-8-2 13:00
0
雪    币: 1037
活跃值: (1780)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
写的很好
2017-8-2 16:12
0
雪    币: 177
活跃值: (83)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
还可以继续研究下so里面的md5digest算法。
2017-8-2 17:35
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主,能不能把你做的app小程序,发上来呀
2018-6-19 09:40
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
航旅纵横应该重新做了。去年通过app找出他们的漏洞,在漏洞盒子报的。楼主可以试下抓包,应该会另有收获
2018-6-22 10:42
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
楼主,能交流下吗?我修改了b.a的值为true反编译之后 找不到相应的日志输出;对key的注入也失败了。求助!
2018-8-17 12:50
0
雪    币: 199
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
大神,这个封包请求要想实现的话,MD5digest才是关键验证的地方,但是本帖并未搞定这个参数,大神可有办法搞定这个参数?
2019-3-7 18:08
1
雪    币: 19
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
我用jeb怎么打不开,提示无法找到认证文件,楼主可以说说打开方式吗?感谢
2019-3-25 13:50
0
雪    币: 40
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
MD5digest 已经破解,需要的联系我q 3591584854
2019-4-19 15:11
0
雪    币: 159
活跃值: (695)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
https://www.52pojie.cn/thread-630888-1-1.html  被抄袭了? 
2019-11-14 14:37
0
雪    币: 116
活跃值: (354)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
没有,吾爱的那篇也是我发的
2019-12-27 16:00
0
雪    币: 275
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
臭小鸭 没有,吾爱的那篇也是我发的[em_54]
这个密钥已经失效了吧,新版参数已经不能用这个解密了....
2020-4-20 22:03
0
游客
登录 | 注册 方可回帖
返回
//