小程序渗透测试-前端打包调试解密
0x01 用到的环境
- node环境
- wxappUnpacker
- 微信开发者工具
- 网易mumu模拟器(Android6版本)
- mt管理器(模拟器中的文件管理工具)
0x02 编译阶段
- 首先找到小程序的安装包,可以找个手机,点开小程序后,找到手机文件目录, 一般是这样的目录。
1 | /data/data/com.tencent.mm/MicromMsg/c6dxxxxxxxxxxxxx/appbrand/pkg/*.wxapkg |
注:此时必须root
mt管理器
然后自己想办法现在把这些包从手机里导出来(如果很多wxapkg建议清理一下,重启目标小程序。)
0x03 反编译wxapkg获取源文件
Github上已经有大神写的node.js版本的,当然也有其它版本的,例如python版本,不用管什么版本的,能用就行了。
GitHub地址:
进入到下载好的反编译脚本目录下,在node命令窗口中依次安装需要的依赖。
项目中列出来的需要安装的依赖不全,如果报错,看下issues就行了,下面是在我能运行状态下安装的依赖。
1 | 1. 解包主包 |
实际运行结果
1 | ./bingo.sh /Users/zy/Documents/pentest_tools/xcx/rongegou/_1549897879_353.wxapkg |
用VScode打开查看源码
0x04 微信开发者工具调试
下载微信开发者工具
1 | https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html |
1 | 项目-导入项目 |
点击编译就可以运行,后续就可以自己调试
0x05 解决方法:
在微信社区寻求答案,发现选择最好的方式都是选择云函数的方法,避免把密钥写到前端程序中
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.