微信小程序已经深入到我们的生活中,一般公司除常见的Web网站、手机App客户端,也会开发对应的微信小程序。常见的Web网站可以使用F12、Fiddler抓包,手机App客户端也可以通过Root后使用Burp、Fiddler抓包,那么我们如何捕捉微信小程序的流量并进行安全测试呢?这里将以Burp + Proxifier 对微信小程序流量抓包。
由于电脑版微信已经支持小程序,故使用mac版微信,对其上运行的小程序进行抓包。微信电脑版到3.4.5之前,小程序可以使用系统代理,3.4.5之后版本小程序流量不会经过系统代理,无法通过电脑的全局代理流量的方法来抓取微信小程序的数据包,本文使用的 3.7.1 版本,故全局代理方式不适用。而使用 Proxifier 代理软件来进行流量中转,从而抓取到微信小程序的数据包。
Burpsuite安装这里不过多详细介绍,主要需要下载证书并信任证书
Proxifier是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器,工作的网络程序能通过HTTPS或socks或代理链。
Proxifier功能:
去Proxifier官网下载https://www.proxifier.com/ ,其是收费软件,免费试用31天。选择与电脑系统匹配的版本,我这最开始下载的版本太高,不支持,后续下载Proxifier 2.X版本即可正常安全。
通过 command+shift+G 可以通过访达 输入指定路径并打开,mac 的微信小程序位置都是如下位置
/Applications/WeChat.app/Contents/MacOS
用电脑微信打开小程序,发现出现网络连接失败,此时微信退出重新打开就好了
此时发现已经可以正常抓到接口流量了,可以愉快的进行安全测试了
总的来说,对小程序抓包还是比较简单的,我们日常对安卓App测试抓包,对于安卓7.0以上的,由于不信任用户代理,都需要Root后才可进行抓包。此时我们可以把重点放在小程序上,一般来说小程序主要功能也都有。但此时相信你应该会发现其他问题。例如现在一般重要的接口都会有签名,防止重放,通过小程序如何找到签名规律呢?电脑版微信小程序安装包文件已经加密,此时如何逆向并找出小程序签名逻辑呢,下篇文章会详细介绍此功能。
推荐阅读
Android使用iptables抓包的姿势
eCapture|Android https明文抓包