【问题标题】:Cannot debug Vine and Twitter api via charles debug proxy while facebook, flickr and any other API can be无法通过 charles 调试代理调试 Vine 和 Twitter api,而 facebook、flickr 和任何其他 API 都可以
【发布时间】:2015-07-27 07:13:22
【问题描述】:

我正在尝试使用 Charles 调试代理来调试 Vine API。我的设备中运行着 IOS 版本的 Vine 应用程序,并且我设置了 wifi 代理。

我可以通过启用 ssl 代理来调试来自所有其他应用程序的 API 调用。但 SSL 代理不适用于 Vine(api.vine.com) 。我尝试了 twitter facebook 和 flickr 应用程序。我可以调试 facebook 和 flickr api,并且可以看到 JSON 响应,但对于 twitter,这会失败。

由于 Vine 归 Twitter 所有,我怀疑 Twitter 是否在其 API 中实现了一些安全性或更改了一些协议以确保 API 无法调试。如果是这样,为什么 facebook 没有实施相同的方法?他们的 API 可以轻松调试。

请在附件中找到截图。

Vine API

Flickr API

Facebook API

推特 API

更新日期:2015 年 7 月 22 日

推特好像是using SSL pinning

【问题讨论】:

    标签: ios api debugging proxy charles-proxy


    【解决方案1】:

    我终于找到了原因。 Twitter 在他们的应用程序中使用 SSL pinning 来保护他们的 API 免受中间人攻击。在他们的API documentation中有一个提示

    更多关于固定的信息可以在here找到。

    【讨论】:

    • 那么有解决办法吗?
    • 没有。应用程序在身份验证期间检查 SSL 证书。应用程序拒绝连接作为 SSL 证书,在这种情况下,将是 Charles 代理的证书
    • SSL Pinning 请注意,某些应用程序实施 SSL 证书锁定,这意味着它们专门验证根证书。因为应用程序本身正在验证根证书,所以它不会接受 Charles 的证书并且连接会失败。如果您已成功安装 Charles 根 SSL 证书,并且可以在 Safari 中使用 SSL 代理浏览 SSL 网站,但应用程序失败,则可能是 SSL Pinning 问题。
    【解决方案2】:

    您可以尝试使用 Frida https://frida.re 为任何应用禁用 SSL 固定。检查这个:https://codeshare.frida.re/@pcipolloni/universal-android-ssl-pinning-bypass-with-frida/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 2011-11-11
      • 1970-01-01
      • 2016-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多