“ 这是一场试炼 ”
01
—
环境版本
环境:
手机,Android 15 未root
电脑,Windows 11专业版 23H2
软件:
微信,Android 8.0.58
edge,136.0.3240.50
02
—
操作步骤
1、点击登录
2、请求响应加密,下面分析请求的randomKeyEncrypt和signData参数
3、webview调试
挖个洞先,公众号:挖个洞先【银行逆向百例】01小程序逆向之webview动态调试
4、搜索signData=关键字,在p.body.data断点,对象p存放请求体的所有参数,m为随机生成的16位字符串也就是key,y=m,i.business_data为用户输入数据
p.body.data = u.aesEncData(m, y, i.business_data),
p.body.randomKeyEncrypt = u.rsaEncAesKey(m, d && d.publicKey),
p.body.signData = u.getSha256(p);
5、进入aesEncData函数内部,t是aeskey,e是aesiv,r是用户输入数据,返回值是请求包中的data参数
6、randomKeyEncrypt断点,使用RSA公钥对随机生成的m密钥加密
7、signData断点,计算对象p的SHA256哈希
8、第七步使用u.getSha256进行哈希处理,发现u还有几个方法,猜测
u.aesDecData即解密方法
9、搜索aesDecData断点,发现m是key,y是iv,s.data.data是响应的data,成功解密
10、再请求一次,把请求的data赋值给s.data.data,成功解密
原文始发于微信公众号(挖个洞先):【银行逆向百例】02小程序逆向之RSA加密随机密钥
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论