前言
微信小程序因运行在微信独立沙箱环境中,其网络请求无法通过普通浏览器代理直接捕获。本文基于Mac系统,详细讲解Burp Suite+Proxifier组合的配置方案,通过精准的代理规则配置、CA证书全信任及流量转发,实现小程序HTTP/HTTPS流量的完整捕获,为后续的渗透测试、接口分析奠定基础。该方案的核心是让小程序独立进程的流量定向通过Burp代理,同时解决HTTPS流量的证书解密问题,是小程序抓包的经典实用方案。
一、抓包前准备工作
- 工具准备:安装Burp Suite(社区版/专业版均可)、Proxifier for Mac版,确保工具为最新版本,避免兼容问题;
- 网络与端口准备:确认Mac本机局域网IP(本文以192.168.3.89为例),准备两个未被占用的端口(本文使用8010、8089,可通过lsof -i:端口号检查端口占用情况);
- 环境确认:确保Mac与运行微信的客户端处于同一局域网,微信已登录并能正常打开目标小程序。
二、核心配置步骤
(一)Burp Suite代理监听器配置
监听器是Burp接收外部流量的核心,需配置本地回环和局域网IP两个监听器,实现本地与局域网的流量接收,步骤如下:
- 打开Burp Suite,进入Proxy→Options页面,找到Proxy Listeners模块;
- 点击Add添加监听器,依次配置监听器:
- 局域网监听器:地址填本机局域网IP192.168.3.89,端口8010,模式选择Per-host;
- 配置拦截规则,提升抓包效率:在Intercept Client Requests模块,添加规则过滤无关流量,建议设置:
- 文件扩展名不匹配图片、css、js等静态资源(gif|jpg|png|css|js);
- 仅拦截包含参数的请求、目标域内的URL;
- 开启自动补全请求末尾换行和编辑请求后自动更新Content-Length,避免请求格式错误。
保存配置,确保监听器状态为Running。

(二)Proxifier代理服务器与规则配置
Proxifier的核心作用是定向让微信小程序进程的流量走Burp代理,避免其他应用流量干扰,实现精准的流量转发,这是解决小程序沙箱抓包的关键步骤:

- 添加Burp代理服务器
打开Proxifier,点击Profile→Proxy Servers→Add,配置如下:
- 地址:Burp的局域网监听器;
- 端口:Burp的局域网监听器端口;
- 协议:选择HTTPS;
- 无需开启认证,直接保存。

- 配置小程序专属代理规则
点击Profile→Proxification Rules→Add,自定义规则名(如VXXCX),核心配置为精准匹配微信小程序进程,步骤:
- 在Applications模块,添加小程序进程标识(仔细核对):
"WeChatApp ExHelper.app"; "WeChatApp ExHelper"; com.tencent.xinWeChat.WeChatAppEx.helper
- Target Hosts和Target Ports均选择Any,确保小程序所有域名、端口的流量都走该代理;
- 其余配置保持默认,保存规则并将其启用。

(三)Burp CA证书导出与Mac系统全信任(关键步骤)
小程序的网络请求多为HTTPS,若未将Burp的CA证书加入系统信任,会因证书验证失败无法捕获加密流量,这是抓包HTTPS的最关键步骤,需严格按照DER格式导出并全信任:
- 导出Burp CA证书
回到Burp的Proxy→Options页面,点击Import/export CA certificate→Export,选择Certificate in DER format(必须为DER格式,其他格式无法在Mac钥匙串正常信任),自定义命名为cacert.der,选择本地路径保存。


- Mac系统导入并全信任证书
- 双击保存的der文件,系统自动打开钥匙串访问工具;
- 将证书添加到系统钥匙串(而非登录钥匙串),确保所有用户都能信任;
- 在钥匙串中找到PortSwigger CA证书,右键选择显示简介,在信任模块,将使用此证书时的选项改为始终信任;
- 对SSL、S/MIME、EAP、IPsec等所有服务均设置为始终信任,保存配置(需输入Mac开机密码验证)。
配置完成后,证书状态显示此证书已标记为受所有用户信任,即为配置成功。

三、抓包效果验证
完成以上配置后,打开微信并启动目标小程序,分别在Proxifier和Burp中验证流量捕获效果,确认代理转发与抓包功能正常:
(一)Proxifier流量转发验证
打开Proxifier的Traffic界面,可清晰看到WeChatAppExHelper进程的所有网络连接,均通过192.168.3.89:8010代理转发,包括IPv4/IPv6的HTTPS请求,界面会显示连接状态、发送/接收字节数、目标域名与端口,说明小程序流量已成功定向转发至Burp。

(二)Burp流量捕获验证
回到Burp的Proxy→HTTP history页面,可看到小程序的所有HTTP/HTTPS请求已被完整捕获,包括:
- 小程序的接口请求、静态资源(js、svg、字体文件等)请求;
- 每个请求的请求方法、状态码、目标主机、响应长度、TLS状态等信息;
- 点击任意请求,可在Raw/Pretty标签中查看完整的请求头、请求体、响应头、响应体,支持编辑和重放请求,满足渗透测试的基本需求。
若能正常看到以上信息,说明整个抓包代理配置已完全成功。

四、抓包注意事项
- 端口冲突处理:若配置后无法连接,先通过lsof -i:端口号检查8010、8089端口是否被占用,更换未被占用的端口重新配置;
- 证书配置误区:必须导出DER格式证书,且添加到系统钥匙串并设置全信任,仅添加到登录钥匙串或未设置始终信任,会导致HTTPS抓包失败;
- 流量过滤优化:在Burp的HTTP history中,可通过Host、Status、MIME type等维度过滤流量,快速定位小程序的核心业务接口;
- IPv6流量支持:该方案原生支持IPv6流量抓包,Proxifier可正常转发小程序的IPv6请求,无需额外配置;
- 合规性要求:本抓包方案仅适用于合法授权的小程序渗透测试,严禁用于未授权的流量窃取、接口破解等违法违规行为,遵守《网络安全法》等相关法律法规。
五、总结
Mac系统下实现微信小程序抓包的核心,是解决沙箱环境流量定向和HTTPS证书解密两个问题,而Burp+Proxifier的组合正是针对这两个问题的最优解之一:通过Proxifier的进程精准匹配,让小程序流量单独走Burp代理,避免其他应用流量干扰;通过Burp CA证书的系统全信任,实现HTTPS加密流量的解密捕获。
该配置方案完成后,Burp可完整捕获小程序的所有网络请求,支持请求编辑、重放、漏洞检测等后续渗透测试操作,是小程序安全测试的基础配置。整个过程的关键在于代理规则的精准配置和证书的正确信任,只要严格按照步骤操作,即可快速实现小程序抓包,为后续的接口分析、漏洞挖掘提供数据支撑。
已在FreeBuf发表 0 篇文章
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


