前言
【转载标明原著,仅供学习使用,如若非法他用,与平台和本文作者无关,需自行负责!】
无论是app小程序方面,还是pc小程序方面都是挺令人诟病的,他的抓包方法不太稳定,这里我比较喜欢在pc端渗透小程序,因为本身移动安全不太好,而且模拟器经常容易出问题,这里先总结一下之前的抓包方法。
pc:
1.使用微信低版本(现在可用,但是可能被封)
2.proxifier+Fiddler+burp(这里是可以用的,多谢曾哥的批评,马上重新整理)
app:
1.安卓5+任意版本微信(可用,但是很卡)
2.安卓7-9+低版本微信 (可用,可能被封)
演示环境:windows11、nodejs、微信3.9.6.33(最新版本)
渗透流程
一.小程序抓包
这种方法,是我在一次偶然的情况发现的,感觉还是挺好用。
首先介绍一下,这是使用系统代理+burp的方式进行抓包的,感觉比proxifier+Fiddler+burp要流畅
首先打开我们的burp,导出burp的证书
导出证书到桌面或者其他地方都可以,名字随意,后缀必须要是.cer或者.crt
然后打开设置搜索证书,这两个应该是都要搞的
这里将证书导入进去
两个都导入完成后,我们就可以直接设置系统代理了
设置代理为http=127.0.0.1:8080;https=127.0.0.1:8080
不固定,看自己的burp代理
这里可以看到,可以抓到https的包
为了避免浏览器之类的干扰,大家应该都是有Proxy SwitchyOmega这个插件的吧,设置成直接连接,或者其他vpn的代理就可以了
2.获取小程序的源码
这就需要一个工具了,原本是github开源的,但是好像不得不下架了,咳咳咳,懂得都懂不多说,工具wxappUnpacker
获取方式:关注公众号输入wxappUnpacker,获得下载链接
首先我们要去获取小程序的加密的源码
这里打开文件以后,首先来到上一级目录,进入Applet
这里都是小程序对应的加密源码
这里假如你无法判断,那个才是你要搞的小程序对应的文件,给你一个最简单的方法,先把小程序关闭,把wx开头的文件夹,全部删除,然后重新打开小程序,然后就剩下一个文件夹了,这个就是你要找的
然后打开,我们的工具wxappUnpacker,先进入这个文件中
打开那个exe文件,选择我们找到的加密的小程序源码文件,解密好就在wxpack文件夹中
然后将wxpack文件夹中,解密好的文件,移到wxappUnpacker中
然后进入wxappUnpacker文件夹中,然后打开powershell或者cmd,有sudo命令没有关系,没有的话,使用管理员身份打开powershell或者cmd
注:一定要有权限,而且要在wxappUnpacker目录下面
安装依赖
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen
这里可以看到,没有权限就会报错,有权限才能安装成功,没有安装sudo命令的,使用管理员打开cmd或者powershell来到这个目录就可以了
安装好所有依赖以后,就可以解密了
.bingo.bat 对应的文件
然后就可以看到文件夹中多出来一个文件,这里面就是小程序对应的源码
3.注意点
上面我们已经获得了源码,这里可以选择去寻找里面有没有泄露什么敏感信息,测试接口有没有未授权之类的,然后我们去下载一个 微信开发者工具https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html,可以尝试能不能编译,能编译的话,对你渗透也是有很多好处
这里讲解流程,下面两种感觉没什么区别,看自己:
1.抓包分析一番 -> 反编译 -> 寻找泄露或者接口之类
2.反编译 -> 寻找泄露或者接口之类 -> 抓包分析一番
重点关注漏洞
sql注入、越权、文件上传、逻辑、泄露、命令执行、组件漏洞、ssrf、
CMRF漏洞(跨小程序请求伪造)之类的
基本不会有的漏洞:
xss、csrf、点击劫持之类的
然后讲讲别的吧,假如你反编译的时候,没有发现app.json之类的文件,那么就是这个研发小程序的人有一些安全意识,他是做了一个做了反编译的安全措施。
打开文件发现有很多wxapkg加密包,这就是做了分包处理,执行下面的命令就可以了
node ./wuWxapkg.js 分包路径 -s=主包路径
原文始发于微信公众号(晓说森林):pc 小程序抓包和渗透流程
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论