Burpsuite 无法在 Android 上捕获/拦截某些请求 更新 1

问题描述

使用 Burpsuite 设置我的设备后。我能够捕获和拦截来自移动浏览器 (Chrome) 的请求,并且只能捕获和拦截来自我的应用程序的“某些请求”。我想知道为什么有些请求无法在 HTTP 历史记录中被捕获?

**注意,在 wifi 中设置代理后,我的设备显示 LIMITED CONNECTION。但是,我在 Mobile Chrome 浏览网站时仍然可以访问互联网,但某些应用(Youtube、Facebook)完全无法访问互联网。

这就是我的某些请求无法被捕获的原因吗?

设置工作包括

  1. IP:代理
  2. cacert 安装(VPN 和应用程序)+ (WIFI)

一些信息

  1. 我使用的是 8082 代理
  2. Android 10

更新 1

经过一些调试后,我发现我的应用程序在触发一些请求(未能捕获的请求)时返回 Network Error。虽然这可能是 CACERT/proxy set 的原因,但我还是希望 http 请求出现在 burp 中?为什么没有出现?

解决方法

如果应用程序使用了证书锁定,您将无法拦截它,要拦截它,您需要绕过证书锁定,下载 Frida Server here,并确保选择您的处理器类型(架构) Here is the configuration guide 还使用 this 代码绕过证书锁定。

另一种选择是使用反对绕过证书锁定,

运行此代码以安装 Objection

pip3 install objection

运行此代码以绕过证书锁定

objection --gadget "com.google.youtube" explore
[tab] for command suggestions
,

终于能够通过以下解决方案解决我的问题(归功于 the post here)!您需要修改/创建以下文件:

AndroidManifest.xml

  • <application> 内追加以下行
<application
...
.....
android:networkSecurityConfig="@xml/network_security_config">

network_security_config.xml

  • 创建或附加 <trust-anchors>
<network-security-config>
      <base-config cleartextTrafficPermitted="true">>
            <trust-anchors>
                <!-- Trust preinstalled CAs -->
                <certificates src="system" />
                <!-- Additionally trust user added CAs -->
                <certificates src="user" />
           </trust-anchors>
      </base-config>
 </network-security-config>

原因,Android Nougat 中受信任的证书颁发机构的更改。 Read more here

看来,other post 中也有一些类似的建议我错过了。

注意事项:

即使 API 现在可以在应用中运行,但应用中仍有一些服务无法按预期运行。就我而言,它是 Codepush。

[CodePush] 发生未知错误。 [CodePush] 意外状态行:HTTP/2 200 OK


然而。 . .

虽然上面的解决方案解决了我的问题,但它并没有真正解决我的疑问。为什么首先另一个 API(这个工作 API 来自不同的服务)可以在没有实现解决方案的情况下工作?

感谢您是否可以阐明一些观点。谢谢!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...