写在前面:合法学习边界
抓包只用于授权目标。小程序流量常含用户数据,非授权抓取可能违反平台规则与法律。
一、为什么小程序抓包“难”
小程序请求大多走 HTTPS,且微信内置客户端对证书有校验,常见两个拦路虎:
1
2
| 1. HTTPS 加密 → 需要装 CA 证书才能解密
2. 证书固定(SSL Pinning)/ 代理检测 → 装上证书也抓不到
|
难点全在“证书信任”和“绕过校验”这两步,配置对了就能看到明文请求。
二、环境准备
1
2
3
4
5
6
| Burp Suite(或 Charles/mitmproxy)
微信(手机/模拟器上)
模拟器:雷电 / MuMu / 逍遥(安卓 7 以内证书好处理)
或真机(安卓/iOS)
可选:Frida / objection(绕过 Pinning)
可选:Proxifier(电脑上抓微信流量)
|
三、方案 A:模拟器 + Burp(推荐入门)
第 1 步:Burp 开启代理
1
2
| Burp → Proxy → Options → Proxy Listeners
确认监听 127.0.0.1:8080
|
第 2 步:模拟器网络代理指向 Burp
1
2
| 模拟器设置 → WLAN → 长按网络 → 修改网络
代理设 手动,主机填电脑局域网 IP(如 192.168.x.x),端口 8080
|
注意:模拟器要和电脑同一网络,别用 127.0.0.1(那是模拟器自己)。
第 3 步:下载并安装 CA 证书
1
2
3
| 模拟器浏览器访问 http://burp/ → 下载 cacert.der
把 .der 改名为 .cer
设置 → 安全 → 从存储设备安装证书
|
第 4 步:安卓 7+ 的关键坑
安卓 7.0 之后,用户安装的证书默认不被系统应用信任(微信算系统级信任问题)。解决:
1
2
3
| 方法1:用安卓 7 以内的模拟器(雷电默认可)
方法2:root 后把证书装进系统证书库
方法3:Magisk 模块 / JustTrustMe(见第五节)
|
第 5 步:验证
1
| 打开微信 → 进入小程序 → 操作 → Burp HTTP History 里看到明文请求
|
四、方案 B:真机 + Burp
1
2
3
4
5
| 手机和电脑同一 WiFi
手机 WiFi 代理设为电脑 IP:8080
浏览器访问 http://burp/ 下载证书并安装
安卓 7+ 仍需解决系统证书信任问题(root + 系统证书 或 绕过)
iOS:安装描述文件后,还要去 设置→通用→关于本机→证书信任设置 里手动信任
|
五、绕过 SSL Pinning / 代理检测
当装了证书仍抓不到(小程序的流量),通常是证书固定或代理检测:
Frida 方案(需 root/越狱或模拟器)
1
2
3
4
5
6
7
| # 安装 frida + objection
pip install frida-tools objection
frida-ps -U # 看微信进程
# 用 objection 启动微信并禁用 ssl pinning
objection -g com.tencent.mm explore
# 在 objection 里执行
android sslpinning disable
|
Xposed / JustTrustMe
1
2
| 模拟器装 Xposed 框架
装 JustTrustMe 模块 → 全局禁用证书校验
|
代理检测绕过
1
2
3
| 有的小程序检测“系统代理是否开启”
方案1:用 Proxifier 把微信进程流量强制走 Burp,不设系统代理
方案2:透明代理 / iptables 转发
|
六、方案 C:电脑微信 + Proxifier
1
2
3
4
| 电脑上登录微信 → 打开小程序
Burp 监听 127.0.0.1:8080
Proxifier 添加规则:微信进程 → 走 127.0.0.1:8080
微信内置浏览器流量也会被捕获
|
适合没有手机/模拟器时快速抓包,但部分微信内部流量仍抓不到。
七、常见坑与排错
1
2
3
4
5
| 抓到 CONNECT 但没内容 → 证书没装/没信任
提示证书无效 → 证书格式/系统信任问题
能看到别的 APP 抓不到小程序 → SSL Pinning,用 Frida/JustTrustMe
完全没流量 → 代理没生效,检查模拟器/Proxifier 规则
页面报网络错误 → 先断开代理确认是代理问题
|
影响与风险
抓包配置一旦被用于非授权目标:
1
2
3
| 用户数据(手机号/订单/支付)泄露
接口被批量调用、越权利用
触发平台风控与法律风险
|
本身是测试能力,边界在于授权。
八、检测与防御(蓝队视角)
1
2
3
4
| 小程序对敏感接口做证书固定
检测代理/模拟器环境(风控)
接口服务端鉴权与频控,不依赖前端
对抓包流量做审计告警
|
修复
1
2
3
4
| 小程序对敏感接口做证书固定
检测代理/模拟器环境
服务端鉴权与频控
对抓包流量审计告警
|
九、小结
小程序抓包的套路是固定的:代理 → 证书 → 绕过 Pinning。把模拟器/真机的代理和证书配置吃透,再掌握 Frida/JustTrustMe 绕校验,几乎所有小程序的 HTTPS 流量都能解开。这是小程序渗透的第一道门槛,值得反复练习。