【问题标题】:Frida and Charles can't inspect requests to firestore.googleapis.comFrida 和 Charles 无法检查对 firestore.googleapis.com 的请求
【发布时间】:2020-11-01 21:10:06
【问题描述】:

我知道这个问题和这个问题很相似:Using Charles proxy to decrypt googleapis.com, 但它已经很老了,我认为谷歌改变了一些关于他们 API 的东西。

我正在使用 Charles 检查来自 android 应用程序(不是我的)的 HTTP 请求。 这个应用程序使用 SSL pinning,所以我在本教程中绕过了它: https://lucy-janewalsh.com/blog/2019/10/29/unpinning-an-app

这适用于除 firestore.googleapis.com 之外的每个域。

Charles 给了我这个错误:

没有提出请求。可能 SSL 证书被拒绝。

你知道这是否可以检查对该地址的请求吗?

谢谢

【问题讨论】:

    标签: android google-cloud-firestore google-api charles-proxy frida


    【解决方案1】:

    该教程仅通过 conscrypt 库禁用 SSLPinning,并且仅在使用此库的应用程序未被混淆的情况下。如果应用程序被混淆,则无法找到该类,并且固定将保持活动状态。还要记住,conscrypt 是基于我的经验,Android 应用程序不经常使用。其他提供 SSLPinning 的库,如 OKHttp,使用频率更高(例如,this Frida snippet 涵盖。

    在您的情况下,一切都取决于您尝试拦截其流量的应用程序。反编译它,例如使用Jadx 或您最喜欢的应用程序反编译器并尝试识别用于 SSL 固定的库/方法。如果应用程序被混淆(类名已更改),那么您很可能必须编写自己的 frida 代码来禁用固定(或至少将类名改编为现有的 frida 代码 sn-p,该代码对使用的 SSL 库执行取消固定你的应用程序)。

    【讨论】:

    • 感谢您的回答!但是,如果我说得对,您是在说这些请求无法解密,因为 frida 脚本没有解决正确的问题。但问题是除了firestore之外的每个域实际上都可以完美解密。也许该应用程序对标准 Web 请求和 Firestore 请求使用不同的技术? (这是一个反应原生应用程序)。
    • 如果应用程序使用不同的 HTTP 客户端库,这将是可能的解释(或者相同的库具有不同的配置,一个有一个没有 pinning)。正如我所说,您必须反编译应用程序才能了解客户端在使用时的详细信息。
    猜你喜欢
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多