Burpsuite 未能捕获/拦截 Android 上的某些请求

问题描述 投票:0回答:2

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

**请注意,在 wifi 中设置代理后,我的设备显示连接有限。不过,我在 Mobile Chrome 中浏览网站时仍然可以访问互联网,但某些应用程序(Youtube、Facebook)完全无法访问互联网。

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

设置工作包括:

  1. IP:代理
  2. cacert安装(VPN和APPS)+(WIFI)

一些信息

  1. 我使用8082代理
  2. 安卓10

更新1

经过一些调试,我发现我的应用程序在触发一些请求(那些未能捕获的请求)时返回

Network Error
。虽然这可能是CACERT /代理设置的原因,但我仍然希望http请求出现在burp中?为什么没有出现?

android intercept burp
2个回答
1
投票

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

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 中可信证书颁发机构的更改。 在这里阅读更多内容

似乎在其他帖子中也有一些类似的建议,但我错过了。

注意事项:

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

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


但是。 。 .

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

如果有人能提供一些启发,我将不胜感激。谢谢!


1
投票

如果应用程序使用了证书锁定,您将无法拦截它,要拦截它,您需要绕过证书锁定,在此处下载Frida Server,并确保选择您的处理器类型(架构)这里是配置指南还使用this代码来绕过证书锁定。

另一种选择是使用 Objection 绕过证书固定,

运行此代码来安装 Objection

pip3 install objection

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

objection --gadget "com.google.youtube" explore
© www.soinside.com 2019 - 2024. All rights reserved.