【银行逆向百例】02小程序逆向之RSA加密随机密钥

admin 2025年5月24日05:11:38评论3 views字数 742阅读2分28秒阅读模式

 这是一场试炼 

01

环境版本

环境:

手机,Android 15 未root

电脑,Windows 11专业版 23H2

软件:

微信,Android 8.0.58

edge,136.0.3240.50

02

操作步骤

1、点击登录

【银行逆向百例】02小程序逆向之RSA加密随机密钥

2、请求响应加密,下面分析请求的randomKeyEncrypt和signData参数

【银行逆向百例】02小程序逆向之RSA加密随机密钥

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);
【银行逆向百例】02小程序逆向之RSA加密随机密钥

5、进入aesEncData函数内部,t是aeskey,e是aesiv,r是用户输入数据,返回值是请求包中的data参数

【银行逆向百例】02小程序逆向之RSA加密随机密钥

6、randomKeyEncrypt断点,使用RSA公钥对随机生成的m密钥加密

【银行逆向百例】02小程序逆向之RSA加密随机密钥

7、signData断点,计算对象p的SHA256哈希

【银行逆向百例】02小程序逆向之RSA加密随机密钥

8、第七步使用u.getSha256进行哈希处理,发现u还有几个方法,猜测

u.aesDecData即解密方法

【银行逆向百例】02小程序逆向之RSA加密随机密钥

9、搜索aesDecData断点,发现m是key,y是iv,s.data.data是响应的data,成功解密

【银行逆向百例】02小程序逆向之RSA加密随机密钥

10、再请求一次,把请求的data赋值给s.data.data,成功解密

【银行逆向百例】02小程序逆向之RSA加密随机密钥

原文始发于微信公众号(挖个洞先):【银行逆向百例】02小程序逆向之RSA加密随机密钥

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月24日05:11:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【银行逆向百例】02小程序逆向之RSA加密随机密钥http://cn-sec.com/archives/4093268.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息