引自免费微信小程序:皆我百晓生
要让Burp Suite和Charles能抓取微信小程序的HTTPS请求,你需要完成以下几个步骤:
-
配置Charles抓包:
- 打开Charles,选择
Help > SSL Proxying > Install Charles Root Certificate on Device... - 选择你的设备(例如:iOS或Android),按照提示安装证书。
-
配置微信小程序信任此证书:
- 对于iOS设备:
- 连接iPhone到电脑,打开iTunes。
- 在左侧设备列表中选择你的iPhone,然后在右侧顶部选择“摘要”选项卡。
- 点击“查看iPhone存储”,找到并点击“证书信任设置”。
- 搜索并选中“Charles Root Certificate”,然后选择“始终信任”。
- 对于Android设备:
- 安装Charles证书后,进入手机设置 -> 安全 -> 从存储设备安装 -> 导入刚刚下载的
.cer文件。 - 在弹出的提示中选择“信任/确定”。
-
配置Burp Suite作为代理服务器:
- 打开Burp Suite,点击菜单栏的 "Proxy" -> "Options..."。
- 在 "Proxy Listeners" 标签页,确保有一个监听端口(默认为8080)并且勾选 "Enable transparent HTTP proxying"。
- 确认 "Intercept is off"。
-
配置设备使用Burp Suite代理:
- 打开设备的网络设置,将Wi-Fi连接到你想抓包的网络。
- 找到并编辑Wi-Fi的代理设置,将其更改为手动代理。
- 输入Burp Suite的代理地址(通常是localhost)和端口号(默认8080)。
-
配置Charles抓取通过Burp Suite的流量:
- 打开Charles,选择
Proxy -> Proxy Settings...。 - 在 "Proxy Listening Port" 中输入与Burp Suite相同的端口号(默认为8080)。
- 在 "Mappings" 标签页,添加一个新条目,输入 "Remote Address" 和 "Local Host and Port",格式如下:
*:8080 localhost:8080
- 确保 "Bypass proxy settings for localhost" 已被取消选中。
-
测试:
- 关闭微信小程序,重新打开它,现在应该可以通过Charles抓取到包括HTTPS在内的所有请求了。
注意:这种方法可能在某些情况下不适用,因为微信有时会检查证书的有效性。如果仍然无法抓取HTTPS请求,你可能需要尝试更新到最新版本的Charles,并且确认设备上的证书已正确安装和信任。此外,微信小程序的安全策略可能会阻止抓包,这可能会影响抓包结果。