小程序渗透测试-前端打包调试解密

0x01 用到的环境

  • node环境
  • wxappUnpacker
  • 微信开发者工具
  • 网易mumu模拟器(Android6版本)
  • mt管理器(模拟器中的文件管理工具)

0x02 编译阶段

  • 首先找到小程序的安装包,可以找个手机,点开小程序后,找到手机文件目录, 一般是这样的目录。
1
/data/data/com.tencent.mm/MicromMsg/c6dxxxxxxxxxxxxx/appbrand/pkg/*.wxapkg

注:此时必须root

mt管理器

image-20210818135324406

然后自己想办法现在把这些包从手机里导出来(如果很多wxapkg建议清理一下,重启目标小程序。)

image-20210820140233664

0x03 反编译wxapkg获取源文件

Github上已经有大神写的node.js版本的,当然也有其它版本的,例如python版本,不用管什么版本的,能用就行了。

GitHub地址:

https://github.com/qwerty472123/wxappUnpacker

进入到下载好的反编译脚本目录下,在node命令窗口中依次安装需要的依赖。

项目中列出来的需要安装的依赖不全,如果报错,看下issues就行了,下面是在我能运行状态下安装的依赖。

1
2
3
4
5
6
1. 解包主包  
- windows系统使用: `./bingo.bat testpkg/master-xxx.wxapkg`
- Linux系统使用: `./bingo.sh testpkg/master-xxx.wxapkg`
2. 解包子包
- windows系统使用: `./bingo.bat testpkg/sub-1-xxx.wxapkg -s=../master-xxx`
- Linux系统使用: `./bingo.sh testpkg/sub-1-xxx.wxapkg -s=../master-xxx`

实际运行结果

1
./bingo.sh /Users/zy/Documents/pentest_tools/xcx/rongegou/_1549897879_353.wxapkg

image-20210820150521776

用VScode打开查看源码

image-20210820150817422

0x04 微信开发者工具调试

下载微信开发者工具

1
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

image-20210825160452205

1
项目-导入项目

image-20210831090412636

点击编译就可以运行,后续就可以自己调试

image-20210825164654699

image-20210825163839953

0x05 解决方法:

在微信社区寻求答案,发现选择最好的方式都是选择云函数的方法,避免把密钥写到前端程序中

image-20210825133749060