某app请求参数分析

声明

这个内容之前在我公众号发过了。来这里只是备份下

某app请求参数分析

前言

我现在成为一个开发者,是看了一篇文章决定的,这篇文章就是当时还在知道创宇的余玹大佬发的信息安全技能树,自此之后走向了一条不归路,链接:

https://blog.knownsec.com/Knownsec_RD_Checklist/v3.0.html

https://evilcos.me/security_skill_tree_basic/index.html

如今突然想起来这个app,当时的我还不会app,再看它,感觉整改过了,所以还得多亏有关部门这几年来的严厉打击网络犯罪啊

声明下,这个app本身不存在诈X,因为里面没有金融类功能,是通过微信转账的,只是涉及诈x的人在使用这个app

分析

老办法,打开charles,打开postern转发,打开app,开始抓包

1.短信验证码获取接口

这个请求参数的type为md5就有点意思,直接就给我们提示了,哈哈哈哈。

2.登录接口:

同时发现这个登录接口有抓包检测,开着postern一直显示登录中 

3.用户信息接口:

4.广场列表接口:

5.滚动头条接口:

6.直播间推荐接口

7.首页banner滚动接口:

8.工会接口:

9.关注列表:

10.直播列表:

随便点开一个直播间,直播间请求参数类型是octet-stream,多半是protobuf了,这个直接用blackboxprotobuf库就可以了,我看到这个数据提交都没有加密参数,我就没去研究了

聊天接口也是,就是tcp协议的传输,也不去看了

细心的朋友发现了,除了聊天和直播以外的接口,其他的接口请求数据基本都有带有这个sign,这次的重点就是上面的接口里的sign了。

参数定位

老路子,打开jadx或者jeb分析一波再说,打开一看,卧槽,有壳

那得先脱壳一波,脱壳过程就略过了,你懂的。

没过多久,脱壳成功,文件如下:

然后用jadx打开,直接搜sign,两百多个,也还好,排除掉这个app用的第三方sdk的包名的,剩下的没几个

随便找几个,指向的都是这个一段,因为这个是脱壳后编译出来的,没法编译出安卓样式的代码,不过看逻辑倒是能看懂

看完逻辑,说明sign就是掉的这个xxx.getSign方法,进入这个方法看看,同样的没法正常编译,问题不大,基本还是看得懂

调试hook

那先不废话,直接hook一下就知道了,hook代码如下,用attatch模式启动,然后这边app刷新下,结果数据如下:

为了验证确实是,再看看charles这边的结果,直接拿到最后一个打印出来的返回值搜,确实有

那就ojbk了,这么简单?当我正准备接着看逻辑的,时候,app直接闪退了:

还是可以,至少还有点反调试的套路,看看进程,这就一目了然了

还是有点东西,不过东西不多,我还是能hook上,这个不重要,我都已经跟到逻辑了,接着再看下最后的结果:

所以,实际传的确实是两个参数,但是,jadx看到的方法体里,是三个参数,同时看这个逻辑,就很奇怪,怎么直接就return r3了,都没看到进入后面的逻辑啊

按理应该0009走了之后会走0016,但是并没有,奇怪

这个不管了, 应该是脱壳出来的效果不太好

那就用objection看看实际的方法体吧,不是说objection 对于java层来说简直是嘎嘎乱杀吗?

结果看到没有,卧槽,这应该是加固过的原因,这就有点意思了啊

行,因为有个sign_type已经给了提示是md5,接着再看刚才那个方法体,其实就是加了盐的md5

但为了验证一下,还是hook 这个xxxx.md5看看,变成了啥

 果然了,那至于这个代码逻辑为啥看着有点怪,不纠结了,能搞定问题就行了。没想到这么简单,嘻嘻嘻

python还原

还原代码我就不贴了吧,就是加盐的md5,from hashlib import md5就搞定的事,就不多逼逼了

结语

这个app对于很多朋友来说简直分分钟,可能直接都懒得写hook代码,看源码都能看懂了,大佬应该都不屑于看。我发出来的想法是,记录过去,憧憬未来,最近一直在研究app,突然想起了它,同时也刚好有了能拿下它的能力,嘿嘿

另外,因为某些原因,我暂时没有做安全了,所以涉及到诈X的事,哥哥们不用找我了,我也没精力管了,遇到问题可以打报警电话的,可以装个国家反诈中心app(我之前呆过的某安全公司参与的项目)

下期再见!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值