Crack App | 某新闻 app 注册 token 加密逻辑分析

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: Crack App | 某新闻 app 注册 token 加密逻辑分析

今日目标

aHR0cHM6Ly93d3cud2FuZG91amlhLmNvbS9hcHBzLzY2Mjk5Mzg=

抓包分析

在内容列表的请求包里面的有token这个参数值

但是在开始的这个init包里面没有这个token

在开始的这个init请求之后的所有的包都带有token这个参数

猜测是开始的init包带有的加密返回值有这个token参数,就类似设备注册的意思

所以分析的重点从列表页移动到了开始的init包里面

查壳与脱壳

先看看这个app的壳能不能搞

好像有点难搞,先用寒冰大大的FART试试

试了下开源版的frida_fart,提示进程终止,应该是没了,可能是我的姿势不对,有知道的大佬评论区指点一下

于是我换北风哥的脱壳机试了一试,于是我找北风哥 py 了一下,舒服~

北风哥也提示了我可以用frida-dexdump试试,并且fart也是可以的,操作提示如下

在北风哥的提示下,我研究一下用frida-dexdumpijm企业版

拖完发现没有北风哥脱得全,应该还是我的姿势不对,所以接下来我还是用北风哥脱得 dex 分析

加密逻辑分析与定位

因为由init这个请求返回的data的加密,所以以init为关键词搜索

看了几个位置,感觉相关性都不高

想了一下用token作为关键词检索,发现结果是在太多了,有1800+多个相关的结果,最后还是在inits里面找到了

在这个位置点进去,然后通过InitParam声明的地方找到下面的位置

那么在请求头中的siganature可能就是这里获取到的,通过getSign关键词找到下面这个位置

所以在header中的siganature就是getSign(),然后在这个位置出入m.c并将结果阶段传入e.a

但是通过wallbreak只看到下面的代码

这样感觉没办法搞啊,经过一番寻找,还得是旧版的app牛逼

在旧版的app里找到下面的代码

照着和新版对比一下就知道,e.aDES.decrypt,然后m.cMD5

既然是这样的话就很简单了

按照这个思路复写应该就可以了

key是由这里的逻辑生成的

这里用到的APP_SECRET_AKEY和时间戳多次MD5得到 key

ps:就在上图逻辑的上方,新旧版本相同

得到key之后,解密入参的是请求返回的密文 data

python可以实现解密

可以看到在结果里面取到token

简单总结

这个app磕磕绊绊了很久,在新版的加密上琢磨了很久,钻了牛角尖,如果早点分析旧版估计很快就分析出来了

所以之后如果不是必要还是不要死磕新版,不仅加固牛逼,混淆也很厉害,还有检测,我用fridaobjection都没办法spawn的方式启动app

唉,又是被APP教做人的一天。

感谢北风哥,2h 大佬等众多哥哥的脱壳测试。

End.

以上就是全部的内容了,咱们下次再会~

相关文章
|
7月前
uni-app 164Token错误时自动退出
uni-app 164Token错误时自动退出
42 0
|
2月前
|
XML Java 数据库
安卓项目:app注册/登录界面设计
本文介绍了如何设计一个Android应用的注册/登录界面,包括布局文件的创建、登录和注册逻辑的实现,以及运行效果的展示。
195 0
安卓项目:app注册/登录界面设计
|
4月前
|
存储 NoSQL 数据库
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
这篇文章讲述了在分布式微服务系统中添加用户注册和登录功能的过程,重点介绍了用户注册时通过远程服务调用第三方服务获取短信验证码、使用Redis进行验证码校验、对密码进行MD5加密后存储到数据库,以及用户登录时的远程服务调用和密码匹配校验的实现细节。
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
|
2月前
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
39 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
3月前
|
存储 NoSQL Java
|
4月前
|
数据采集 数据可视化 数据挖掘
基于python django的scrapy去哪儿网数据采集与分析,包括登录注册和可视化大屏,有md5加密
本文介绍了一个基于Python和Django框架,使用Scrapy进行去哪儿网数据采集与分析的项目,包括实现登录注册功能、MD5加密以及通过可视化大屏展示分析结果的综合系统。
基于python django的scrapy去哪儿网数据采集与分析,包括登录注册和可视化大屏,有md5加密
|
4月前
|
Java
【Azure 应用服务】在App Service 中如何通过Managed Identity获取访问Azure资源的Token呢? 如Key Vault
【Azure 应用服务】在App Service 中如何通过Managed Identity获取访问Azure资源的Token呢? 如Key Vault
|
4月前
|
JSON 算法 API
【Azure API 管理】APIM 配置Validate-JWT策略,验证RS256非对称(公钥/私钥)加密的Token
【Azure API 管理】APIM 配置Validate-JWT策略,验证RS256非对称(公钥/私钥)加密的Token
|
4月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
415 0
|
4月前
|
JavaScript 前端开发 安全
VUE——APP,后端,前端三端AES加密解密
VUE——APP,后端,前端三端AES加密解密
179 0