微信小程序渗透——反编译小程序

admin 2023年5月25日08:57:45评论137 views字数 1771阅读5分54秒阅读模式
作者:骁隆,转载于作者博客
来源:https://www.onctf.com/

1、介绍

微信小程序渗透时,因为小程序没有网页端页面,所以不能直接访问抓包分析,如果需要抓包分析,一般就是要么用电脑上的安卓模拟器登录微信利用burp抓包,要么就是用burp抓手机的包,要么就是从手机上直接抓包。具体步骤网上很多,我一般简单的抓包就是ios上用“Stream”这个软件,很方便的就抓包了。

微信小程序渗透——反编译小程序

本文主要讲的重点是微信小程序的反编译,因为反编译出来可以看到小程序的前端源码,可以渗透出更多的东西。

2、使用电脑版微信获取小程序的源码

微信小程序渗透——反编译小程序

这里直接打开微信存储文件的文件夹

微信小程序渗透——反编译小程序

这里的两个wx开头的文件就代表两个小程序,如果之前用电脑版微信打开过小程序,每打开一个小程序,就会创建一个小程序的文件夹,如果你这里有很多的文件夹,你分不清哪个是哪个小程序,那就直接都删掉,然后你去每新打开一个小程序,就会自动生成一个文件夹

微信小程序渗透——反编译小程序

我们进入文件夹里面,其实里面就是一个文件,这就是我们小程序的源码,但是是加密的,我们需要对其解密

网上有很多的方法和工具解密,但是我这里演示的是我测试通过的方法和工具

3、使用工具解密源码

解密工具:https://github.com/superBiuBiuMan/wechatMiniAppReverse

这个工具是解密+反编译,所以很方便

工具自带使用方法,但使用方法不全,所以我演示一下

进入1.first文件夹

微信小程序渗透——反编译小程序

看到这里用使用方法和一个exe文件

我们用命令行进入这个文件夹,然后输入以下命令(不要直接复制,要改成自己的)

pc_wxapkg_decrypt.exe -wxid wx001680b1e33d561c -in C:UserslongDesktop1.wxapkg -out C:UserslongDesktop11.wxapkg

微信小程序渗透——反编译小程序

这段命令先是制定了这个文件夹下的exe文件,然后需要输入微信小程序的wxid,这个直接就是复制刚刚那个小程序文件夹的名称即可。然后指定输入文件和输出文件,我这里把刚刚那个加密的小程序复制到了桌面并改成1.wxapkg名字了,这样方便一点。输出文件的路径和名字自己随便取。

提示解密成功就解密好了

4、配置nodejs环境

解密后的源码依然是wxapkg格式,就和压缩包一样,是打包的,所以需要解包

解包需要nodejs支持,如果电脑没有安装nodejs,或者版本比较旧,就需要安装最新版的nodejs

https://nodejs.org/en

官网下载安装即可(安装好会自动配置好环境变量)

如果是默认安装路径的话,应该和我这个路径一样,进入这个路径

微信小程序渗透——反编译小程序

把nodejs文件夹下面的所有文件复制出来,然后粘贴到刚刚那个工具的2.second文件夹下的nodejs文件夹下

微信小程序渗透——反编译小程序

如果提示文件相同冲突,一律选择“替换”

5、使用工具解包

命令行进入如下图这个文件夹,输入

npm install uglify-es

微信小程序渗透——反编译小程序

再安装一个

npm install cheerio

微信小程序渗透——反编译小程序

提示报错

node:internal/modules/cjs/loader:1078
throw err;

这个问题我在网上找了好久,后来发现要使用cnpm安装而不是npm

这个cnpm其实就是淘宝提供的一个镜像服务器,是国内的,比npm国外的稳定

npm config set registry https://registry.npmmirror.com
npm install -g cnpm --registry=https://registry.npmmirror.com

然后输入cnpm -v看看是否成功配置

微信小程序渗透——反编译小程序

然后再输入

cnpm install cheerio

微信小程序渗透——反编译小程序

这个时候依然有报错,但是看最下面

微信小程序渗透——反编译小程序

这个cheerio已经成功安装了

接下来就可以运行工具解包了(需要进入2.second的nodejs文件夹)(提前将解密过的wxapkg文件移动到nodejs文件夹内)

node .wuWxapkg.js C:UserslongDesktopwechatMiniAppReverse-mainwechatMiniAppReverse-main2.secondnodejs123.wxapkg

微信小程序渗透——反编译小程序

解包完成后,就可以在当前目录下看到解包后的文件夹了

微信小程序渗透——反编译小程序

微信小程序渗透——反编译小程序
我们可以用vscode打开这个文件夹,然后审计代码了
微信小程序渗透——反编译小程序

原文始发于微信公众号(乌雲安全):微信小程序渗透——反编译小程序

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月25日08:57:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   微信小程序渗透——反编译小程序http://cn-sec.com/archives/1759519.html

发表评论

匿名网友 填写信息