小程序反编译代码审计出奇迹

前言
数据加密或者是业务加签是我们在进行数据包重放或者是修改数据时,不得不遇到的痛点。总体来说对于数据解密或者业务加签破解的难度是:app>web>wxapp。因为api接口都是相同的,因此为了降低挖洞难度,我们可以将目光放到微信小程序上。
抓包
抓包这一块就简略的讲一下,因为主要内容还是代码审计上。目前微信在PC上也是可以使用小程序的,所以小程序的数据包获取上有两种方式,一种还是常规的手机抓包,挂vpn进行数据转发。高版本Android系统不要忘记证书问题。对于PC上的抓包,在座的师傅们都比我懂,我就不多说了。
源码提取
本次重点介绍Android端小程序的源码提取,对于PC上的小程序由于还加了一层加密(当然也有解密脚本),我就不多此一举了。首先需要一台root过的手机或者是模拟器。打开微信。文件夹cd到/data/data/com.tencent.mm/MicroMsg/{一串16进制字符}/appbrand/pkg
图片[1]-小程序反编译代码审计出奇迹-安全小天地
然后把已经存在的都rm -rf。
此时再打开咱们的目标小程序,此处注意,一定要等小程序完全打开并且再点几个功能,确保将所有包都运行,因为目前的小程序体量逐渐变大,会有多个子包的存在。
图片[2]-小程序反编译代码审计出奇迹-安全小天地
此时将咱们的目标小程序包pull出来。利用命令adb pull
图片[3]-小程序反编译代码审计出奇迹-安全小天地
然后上工具,https://github.com/xuedingmiaojun/wxappUnpacker。进行解包
建议还是在linux系统下进行操作。windows下因为windows下命名规范问题,因此在windows环境下反编译会出现文件夹丢失情况,没法导入分析工具。下图就是两种不同的结果。
图片[4]-小程序反编译代码审计出奇迹-安全小天地
图片[5]-小程序反编译代码审计出奇迹-安全小天地
导出完成就是这样的,可以导入微信开发者工具进行静态调试或者是动态调试了。
图片[6]-小程序反编译代码审计出奇迹-安全小天地
静态分析
首先看一下我们要分析什么。
图片[7]-小程序反编译代码审计出奇迹-安全小天地
由于xxxPhone数据经过了加密,并且我采用原始手机号代替该数据也是无法进行发包,因此就需要了解此处的加密方式,并且进行还原。
此时打开微信开发者工具,将代码导入。
图片[8]-小程序反编译代码审计出奇迹-安全小天地
此处使用测试号即可。进入之后点击编译。
图片[9]-小程序反编译代码审计出奇迹-安全小天地
我们在搜索框中搜索关键词,可以搜索api,主要的字段都可以。
图片[10]-小程序反编译代码审计出奇迹-安全小天地
找到调用函数处,发现数据加密函数为i.encrypt。查看该i函数。
图片[11]-小程序反编译代码审计出奇迹-安全小天地
又是引用了532e模块。跟进去。
图片[12]-小程序反编译代码审计出奇迹-安全小天地
可以了,此时无声胜有声。
AES的特征都已经显露出来了,所需要的必要参数也是都已经给出,此时去验证一下。

图片[13]-小程序反编译代码审计出奇迹-安全小天地
验证成功。
总结
特别感谢303师傅和二哥,我是个xx,连什么是%3D都不知道。。。。。。

文字来源于- 火线 Zone-云安全社区,安全小天地只做文章分享,如有侵权,请联系站长删除

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容