从 Fiddler 嗅探 Android 应用程序的 HTTPS 流量失败,Fiddler 中仅存在“隧道到”条目

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

我正在尝试从已取得 root 权限的 Android 设备 (4.4.4) 捕获 HTTPS 流量,以分析应用程序的未记录协议。我已将 Fiddler 设置为代理并启用了 HTTPS 嗅探。我已在我的设备上安装了 Fiddler 生成的根证书。我已在 Android 设备上为 Wifi 设置了代理。

  • 当我运行浏览器并导航到任何 HTTP 或 HTTPS 站点时,Fiddler 都可以成功捕获流量。

  • 当我运行一些应用程序(例如我自己的应用程序,使用 Parse 作为后端)时,我可以看到所有到服务器的 HTTPS 流量已解密。到目前为止一切顺利。

  • 当我尝试运行该特定应用程序时,我无法让 Fiddler 捕获其流量。这是我在 Fiddler 上得到的所有信息:

enter image description here

URL 是一些 IP 地址:SSL (:443)。

我也尝试过使用ProxyDroid。有趣的是,我能够捕获流量on一次,看到与该应用程序服务器的解密HTTPS连接,但此后,它再也没有捕获过。我知道该应用程序使用 HTTPS,而不是未知/其他协议。

如何成功捕获 HTTPS 流量,为什么 Fiddler 曾经为该应用程序工作,然后突然停止工作?

android https proxy fiddler sniffing
4个回答
10
投票

“默认情况下,面向 API 级别 24 及更高版本的应用程序不再信任用户或管理员添加的 CA 来实现安全连接”

如果您的目标 API >=24 或在 >= 24 的设备上运行,请使用以下内容创建 xml 资源:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <!-- Trust user added CAs while debuggable only -->
            <certificates src="user"/>
        </trust-anchors>
    </debug-overrides>
</network-security-config>

将其命名为“network_secutrity_config.xml”或类似名称,并使用 android:networkSecurityConfig 标记添加 id 作为对清单的引用。

您可以在这里阅读更多内容(这对我有帮助):

https://android-developers.googleblog.com/2016/07/changes-to-trusted-certificate.html


6
投票

它似乎特定于该应用程序。我成功地嗅探了所有其他应用程序。该特定应用程序可能使用 SSL 固定:它检查自身内部的证书,并且不允许伪造证书,即使它受到设备的信任。


2
投票

对于遇到此问题的其他人...

Fiddler 停止在我的机器浏览器和设备上处理 https 流量。重新安装/重新信任 Fiddler 证书后,我的机器浏览器再次开始使用 https 工作,但设备仍然损坏。

为了让设备再次工作,我必须明确信任设备上的新证书,方法是使用设备的浏览器打开网站

http://<adapter IP>:8888/FiddlerRoot.cer
,然后信任该证书。

我在这里找到了这个答案。


0
投票

Tunnel to

 在 Fiddler 中显示,因为 SSL 固定
SSL Pinning 是一种在 Android 手机上使用的技术,通过验证服务器证书来避免中间人攻击。
您可以通过修补 apk 文件来绕过 SSL pinning

apk-mitm <path-to-apk>
有关如何安装的更多信息:

https://github.com/shroudedcode/apk-mitm

$ apk-mitm example.apk ✔ Decoding APK file ✔ Modifying app manifest ✔ Replacing network security config ✔ Disabling certificate pinning ✔ Encoding patched APK file ✔ Signing patched APK file Done! Patched APK: ./example-patched.apk
如果您想手动执行此操作,请按照此处的文章进行操作:

https://medium.com/@vaishalinagori112/9- Different-ways-to-bypass-ssl-pinning-in-android-2d8c7f81b837

© www.soinside.com 2019 - 2024. All rights reserved.