本次抓包以PC端最新版3.8.8为例,相比之前3.7版本微信进程名有变化,确保可以正常抓取小程序流量。
一、背景
微信小程序已经深入到我们的生活中,一般公司除常见的Web网站、手机App客户端,也会开发对应的微信小程序。常见的Web网站可以使用F12、Fiddler抓包,手机App客户端也可以通过Root后使用Burp、Fiddler抓包,那么我们如何捕捉微信小程序的流量并进行安全测试呢?这里将以Burp + Proxifier 对微信小程序流量抓包。
二、步骤
由于电脑版微信已经支持小程序,故使用mac版微信,对其上运行的小程序进行抓包。微信电脑版到3.4.5之前,小程序可以使用系统代理,3.4.5之后版本小程序流量不会经过系统代理,无法通过电脑的全局代理流量的方法来抓取微信小程序的数据包,本文使用的 3.8.8 版本,故全局代理方式不适用。而使用 Proxifier 代理软件来进行流量中转,从而抓取到微信小程序的数据包。
2.1、Burp 安装
Burpsuite安装这里不过多详细介绍,主要需要下载证书并信任证书
2.2 安装Proxifier
Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器,工作的网络程序能通过HTTPS或socks或代理链。
Proxifier功能:
-
通过代理服务器运行任何网络应用程序。软件不需要特殊配置,整个过程十分透明。 -
通过代理服务器网关访问限制网络的互联网。 -
绕过防火墙限制。 -
通过代理服务器解析 DNS 名称。 -
使用带有主机名和应用程序名称通配符的灵活的代理规则。 -
通过隐藏 IP 地址确保隐私。 -
使用不同协议通过一组代理服务器链。 -
实时查看关于当前网络活动(连接,主机,时间,带宽使用等)的信息。
... 等等。
去Proxifier官网下载https://www.proxifier.com/ ,其是收费软件,免费试用31天。选择与电脑系统匹配的版本,我这最开始下载的版本太高,不支持,后续下载Proxifier 2.X版本即可正常安全。
2.3 配置Proxies
2.3.1 添加代理 填入 burpSuite 代理 ip 和端口选择 https 保存即可
2.3.2 添加 Rules 过滤规则
通过 command+shift+G 可以通过访达 输入指定路径并打开,mac 的微信小程序位置都是如下位置
/Applications/WeChat.app/Contents/MacOS
最新版本配置的内容是
"WeChatAppEx Helper";com.tencent.xinWeChat.WeChatAppEx.helper; "WeApp.app"; "WeApp"; com.tencent.xinWeChat.WeChatAppEx.WeApp
三、测试
用电脑微信打开小程序,发现出现网络连接失败,此时微信退出重新打开就好了
此时发现已经可以正常抓到接口流量了,可以愉快的进行安全测试了
四、总结
总的来说,对小程序抓包还是比较简单的,我们日常对安卓App测试抓包,对于安卓7.0以上的,由于不信任用户代理,都需要Root后才可进行抓包。此时我们可以把重点放在小程序上,一般来说小程序主要功能也都有。但此时相信你应该会发现其他问题。例如现在一般重要的接口都会有签名,防止重放,通过小程序如何找到签名规律呢?电脑版微信小程序安装包文件已经加密,此时如何逆向并找出小程序签名逻辑呢,下篇文章会详细介绍此功能。
原文始发于微信公众号(洋洋自语):微信小程序抓包(最新版)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论