我有一个 Flutter 应用程序。我必须对其进行渗透测试。我使用 proxydroid 来拦截请求,因为正常的代理设置不适用于此应用程序。我成功地看到了 burp 上的请求,并收到了服务器的响应。然而,一旦响应发送到应用程序,就会出现一般错误消息。我已经考虑过解析错误。没有 burp 或 tls passthrough,应用程序可以完美运行。我如何了解可能导致问题的原因?我还尝试更改 iptables 设置并在 burp 设置上设置隐形代理。应用程序的行为仍然相同。 flutter 是否有一些东西可以理解我使用代理并阻止应用程序正常工作?从技术上讲,该应用程序是由开发人员设置的,以促进渗透测试,因此我不期望任何额外的控制。
我陷入了困境并能够解决它。
我尝试了正常的方式,通过代理WIFI,但没有成功,因为我测试的APK是一个flutter应用程序。
尝试在模拟器中更改代理,但无法启动Android设备。
然后尝试了Proxydroid和类似的应用程序,它没有代理正确地打嗝。显示我打开代理后出现网络问题。
然后尝试了 reflutter、SSL pinning 旁路和所有可能的方法,但仍然是一样的。
然后我找到了使用 HTTP Toolkit 连接的方法。 您可以从这里获取它:https://httptoolkit.com/
已安装 HTTP 工具包(适用于 Linux/Windows)。
打开 Android 设备。
转到 HTTP Toolkit 并选择(通过 Frida 拦截 > Android 应用程序)或(通过 ADB 拦截 > Android 设备)[此功能对我来说比选择 frida 选项更有效,因为它仍处于开发阶段]
它将执行所有必要的配置,并且您的 Android 设备中将弹出连接请求。接受并测试您的应用程序。请求将通过 HTTP 工具包进行代理。 (此时通过toolkit检查requests代理) HTTP Toolkit 允许您在专业版中捕获和修改请求。
连接到 Burpsuite。转至 HTTP 工具包 > 设置 > 连接设置 一个。将代理设置为“使用 HTTP 代理” b.将 HTTP 主机代理详细信息设置为计算机的“:”。然后按小保存图标(例如:192.168.8.2:8080) c.将burp证书添加到受信任的CA证书
在BurpSuite中添加端口号。 BurpSuite > 代理 > 选项 > 代理侦听器 > 添加 一个。添加您在 HTTP Toolkit 设置中提供的端口号 b.选择“所有接口”并单击“确定”保存。
现在 HTTP Toolkit 将开始代理来自您设备的所有请求
设置是,
Android 设备 <-> HTTP 工具包 <-> BurpSuite