免责声明:由于传播、利用本公众号李白你好所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号李白你好及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
文章作者:先知社区(1217265843072958)
文章来源:https://xz.aliyun.com/t/16497
1►
前言
某次对某金融小程序渗透测试,依旧是对数据包加密以及签名验证,以往遇到类似站点往往选择放弃,但是这次选择尝试逆一下,也分享一下此次渗透的过程,文笔粗糙,还请见谅
2►
定位
先贴一张数据包:
https://github.com/JaveleyQAQ/WeChatOpenDevTools-Python
C:UsersadminAppDataRoamingTencentWeChatXPluginPluginsRadiumWMPF
https://github.com/tom-snow/wechat-windows-versions/releases
3►
分析加密和签名逻辑
开启devtools后,接下来才是最关键的步骤,通过调试分析逆向加解密生成的逻辑,利用伪代码生成新的参数
securityParam
salt和encryptkey
sign
4►
整体逻辑分析
至此,所有的参数都已经知道是如何生成的,
-
securityParam:原始数据进行AES-CBC加密 -
Salt:AES-CBC加密的IV,通过公钥进行RSA加密放在请求头中发送给后端 -
Encryptkey:AES-CBC加密的key,通过公钥进行RSA加密放在请求头中发送给后端 -
Timestamp:时间戳 -
Sign:防重放验证,将securityParam参数和加密后的值通过私钥进行签名
5►
总结
整个分析的过程花费了不少时间,调试代码需要耐心和细节,相对来说没有特别的难,最后成功扣出算法后也算是一种正反馈。
6►
原文始发于微信公众号(李白你好):记某次金融小程序数据加密及签名逆向
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论