app逆向实战强化篇——破解某安卓APP请求加密参数

来自:Python编程与实战(微信号:pthon1024),作者:Jerryning

写在前面的话

今天分享另一个app逆向的实战
如果觉得对你有用,还请关注下公众号,后续会有更多的实战教学篇,以免错过噢!
话不多说,进入正题,开搞

抓包

国际惯例,先用 fiddler 抓包

分析请求参数,可以看到,手机号码以及密码都是加密的

请求

响应

app反编译

使用 jadx 直接打开 apk 文件

jadx

对抓包和反编译不熟悉的朋友,还请查看以前的文章,里面有详细的介绍!

参数搜索

点击菜单栏上面那个放大镜的图标,然后✔代码选项,根据抓包的请求参数,去搜索加密的源码

搜索界面

有时候某个参数搜索出来的结果很多,

我们可以换其他参数去搜索,或者给参数加上双引号来搜索,这样可以减少干扰项

下面是我搜索出来的加密源码

加密源码
加密源码

破解

根据源码中参数的加密方式,使用 python 代码来生成。

可以看到是 RSA/ECB/PKCS1Padding 加密,密匙使用了base64加密

然后再将 RSA 加密的结果再进行base64加密

在python中可以使用 pycryptodome 模块来实现 AES加密

有些源码看不懂没关系,多尝试,多查下 java 的用法,还有就是多问!

验证

登录验证

抓包的响应

上面是使用 Python 代码模拟登录结果和 fiddler 抓包的响应结果

从两者的结果比较中我们可以看到:

code 都是为 0,登录后的 token_onlie 的结果是一致

说明登录成功了,加密参数也破解了!

推荐↓↓↓
黑客技术与网络安全
上一篇:app逆向入门分析——破解某APP登陆请求参数 下一篇:SSRF 漏洞学习实验环境推荐及过程记录