羽中飞人 2025-08-18 04:51 采纳率: 48.1%
浏览 16

burp打开后,小程序无法打开

我在profixier设置如下

img

img

在burp suite设置如下

img

证书也安装成功在根受信任的目录下

img

但我现在只要profixier和burp想抓取数据的时候
微性小程序就无法正常打开界面,但用了云函数的小程序可以打开,比如胖士查药小程序
微性可以正常使用,浏览器也可以正常使用

  • 写回答

6条回答 默认 最新

  • 檀越@新空间 2025-08-18 08:44
    关注

    上午好☀️☀️☀️️
    本答案参考通义千问

    你遇到的问题是:在使用 Burp Suite 和 Proxyier 进行抓包时,某些小程序(如“微性”)无法正常打开界面,但其他小程序(如“胖士查药”)可以正常运行。这表明问题可能与网络代理设置、SSL 证书、小程序的安全策略或设备系统配置有关。


    问题分析

    1. Burp Suite 与 Proxyier 的设置问题
    2. SSL/TLS 证书未被正确信任
    3. 小程序的网络安全策略限制了代理访问
    4. Android 系统对 HTTPS 代理的限制(尤其是 Android 9+)
    5. 部分小程序使用云函数等特殊机制绕过代理

    解决方案

    1. 检查并重新安装 Burp Suite CA 证书

    • 步骤:

      1. 打开 Burp Suite,进入 Proxy -> Options -> Import / Export CA Certificate
      2. 导出 .crt 文件。
      3. 在手机上通过浏览器访问 http://burp(若未自动跳转,手动输入 IP 地址和端口)。
      4. 下载并安装 Burp CA 证书。
      5. 进入手机设置 -> 安全 -> 加密与凭据 -> 受信任的证书 -> 用户证书 -> 选择刚刚安装的证书,设置为 受信任的根证书
    • 重点说明:

      • 确保证书被安装在“用户”或“受信任的根证书颁发机构”中,而不是“设备”或“系统”中。
      • 如果使用的是 Android 10 或更高版本,可能需要开启“开发者选项”中的“USB 调试”或使用 adb 命令安装证书。

    2. 配置 Proxyier 代理设置

    • 步骤:

      1. 打开 Proxyier 应用。
      2. 设置代理为 Burp Suite 的 IP 和端口(默认 127.0.0.1:8080)
      3. 启动代理后,尝试访问小程序。
    • 注意:

      • 如果使用的是 WiFi 代理,请确认是否已正确连接到代理网络。
      • 若使用 USB 代理,请确保 USB 调试已开启,并且 Proxyier 正确识别设备。

    3. 修改 Burp Suite 的监听设置

    • 步骤:

      1. 在 Burp Suite 中,进入 Proxy -> Options
      2. 确保监听地址为 0.0.0.0,而不是 127.0.0.1
      3. 确保监听端口为 8080(或其他自定义端口)。
      4. Intercept 标签页中,关闭拦截功能(避免请求被阻断)。
    • 重点说明:

      • 如果监听地址是 127.0.0.1,则只有本机可以访问,无法通过手机访问。

    4. 检查小程序的网络权限

    • 对于 Android 应用:

      • 确保小程序应用具有以下权限:
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        
      • 如果是自定义网络库,检查是否支持代理设置。
    • 对于小程序框架(如微信小程序):

      • 检查是否启用了 HTTPS 请求。
      • 确认是否允许通过代理进行网络请求(部分小程序可能会检测代理环境)。

    5. 使用 Android 9+ 的 HTTPS 代理设置(针对部分设备)

    • 步骤:

      1. 在 Android 9 及以上系统中,进入 设置 -> Wi-Fi -> 选择当前连接的 Wi-Fi -> 修改网络 -> 高级选项
      2. 设置代理为 手动,输入 Burp Suite 的 IP 和端口。
      3. 重启 Wi-Fi 或设备。
    • 重点说明:

      • Android 9+ 默认不信任第三方 CA 证书,除非你手动添加到系统证书链。
      • 如果仍然无法访问,尝试使用 adb 安装证书:
        adb install burp-ca.crt
        

    6. 检查小程序是否使用了云函数或 CDN

    • 例如:“胖士查药”小程序能正常使用,可能是由于:

      • 使用了云函数(如腾讯云开发),绕过了本地代理。
      • 使用了 CDN 或其他加速服务,直接与服务器通信,未经过代理。
    • 解决方法:

      • 尝试在 Burp Suite 中设置 Bypass proxy for local addresses,以绕过本地网络请求。
      • 如果小程序使用了特定域名,可以在 Burp Suite 的 Target -> Site map 中添加该域名,确保其被正确捕获。

    代码示例(如有需要)

    如果你是在开发小程序(如微信小程序),并且想让其支持代理,请确保:

    // 微信小程序示例:请求接口时允许代理
    wx.request({
      url: 'https://your-api.com/data',
      method: 'GET',
      success(res) {
        console.log(res.data);
      }
    });
    

    注意: 微信小程序默认不支持代理,除非你使用了云开发或自定义服务器。


    总结

    | 问题点 | 解决方案 | |--------|----------| | 证书未正确安装 | 重新安装 Burp CA 证书,并设置为“受信任的根证书” | | 代理监听地址错误 | 设置 Burp Suite 监听地址为 0.0.0.0 | | Android 9+ 限制 | 使用手动代理设置或 adb 安装证书 | | 小程序安全策略 | 检查是否允许代理访问,或使用云函数绕过代理 |


    如果你能提供更具体的设备型号、系统版本、小程序名称,我可以进一步帮助你定位问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月18日