前言
在暑假的时候,入职了一家某安全厂,也就一普通安服实习岗,涉世未深的我感觉到了什么叫做差距。啥也不会,跟我同一批的实习生都已经出去做项目了,只有我一个人在公司里瑟瑟发抖,不敢多问。不过有一说一,这里面的同事和领导都非常的友好,入职第一天我的项目经理也就是我的导师请了我喝一杯奶茶。美滋滋~ 不扯那么多了,简单来讲就是入职一个月后的现在,做了几个金融类的渗透项目后,发现传统的web渗透已经没有什么较大的收获了,最近的一个渗透项目也是金融类的,给了几个授权站点发现均是微信小程序和微信公众号之类的,之前也只是停留在了解和听过的阶段。属于是纯小白了,但是听说跟web好像大差不差,也是抓包改包发包。但是抓包的过程非常的费劲,网上的教程都是啥的模拟器,Android版本,改什么证书,脱壳,反编译之类乱七八糟的。看到这,就已经不敢向前走了。可是,我的站点就只有这些,web的就一个大官网也没什么好测试的,就硬着头皮搞下去,研究一下微信小程序的代码审计,看看有没有存在一些未授权接口和泄露key之类。用上班的时间摸索到了一点皮毛属于是带薪学习?废话不多说,立马开始
准备工作
目录
- 微信小程序解密
- node.js环境搭建
- wxappunpacker反编译
- 微信开发者工具
需要安装的软件
- 反编译工具安装包:链接:https://pan.baidu.com/s/1CsXCCPV5Yipdq8uR44Xf_A?pwd=ilb9
提取码:ilb9- node.js环境(建议选.msi版本无需配置环境变量):https://nodejs.org/zh-cn/download
- 微信开发者工具:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
- 一键反编译工具(嫌反编译麻烦下这个):链接:https://pan.baidu.com/s/12S0ZTkYAFWYfui7ujjrijw?pwd=tzuq
提取码:tzuq
微信小程序解密
打开电脑微信,在这个地方打开小程序的文件路径,小程序是点击加载后才会生成文件
打开文件后返回上一级,进入Applet文件夹,这个就是小程序存储的位置
要是里面有很多小程序文件就全选删除即可,不然你不知道需要反编译的小程序是哪个,在点击小程序的时候这个地方会生成你刚才点击小程序文件,wx前缀开头就是了
返回微信,点击你需要反编译的小程序(这边先建议寻找好之后再删除Applet文件夹内的文件),点击完之后这边就会生成一个wx前缀的文件夹,这个就是刚才点击小程序产生的,随后便一直往下点进去,看到一个__APP__.wxapkg的文件,这个是小程序的主文件,有一些小程序还会生成分包(这个在反编译的阶段会有说明)。
这里的小程序是经过解密的,这时我们需要使用小程序包解密工具进行解密,选择__APP__.wxapkg这个包进行解密,然后解密出来的文件会放在wxpack这个文件夹当中。
node.js环境安装
因为反编译工具wxappunpacker需要node.js环境,这边傻瓜式安装即可
使用上面的提供地址进行下载,然后无脑点击下一步就安装成功了
wxappunpacker反编译小程序
我这边提供的wxappunpacker已经安装好node.js的依赖所以无需重新安装,直接编译即可
本人在wxappunpacker目录下新建一个wx文件夹用于放入刚刚解密好的wx前缀的小程序
开始编译
node .\wuWxapkg.js .\wx\wx9226289198c9916b.wxapkg
看到这个即为编译成功,编译之后的文件会在wx目录下生成一个编译好的小程序文件夹
微信开发者工具-代码审计
导入刚才编译好的小程序文件
根据操作来,使用测试号,不使用云服务,确定
看到这个页面以后,就可以愉快的代码审计啦~