【问题标题】:How to detect SSL pinning on Android如何在 Android 上检测 SSL 固定
【发布时间】:2016-01-18 16:34:29
【问题描述】:

我已经安装并配置了sslsplit并生成了根证书,并添加到了手机(Android)中。

如何检测 SSL 固定?

【问题讨论】:

    标签: android ssl


    【解决方案1】:

    当您在移动设备和与之通信的服务器之间放置代理时,使用 SSL 证书固定或公钥固定的应用应该无法与服务器通信(因为它会收到 ssl split 的证书而不是服务器的证书链)。

    如果应用无法与服务器通信 - 这意味着证书固定正在工作。

    【讨论】:

    • 我知道 Gmail 应用程序有 SSL 证书固定,但我仍然可以连接到 google 邮件服务器并通过 sslsplit 代理发送/接收信件
    • 那么在这种情况下-您可以调试应用程序(我想您想测试自己的应用程序)。实施 SSL 工厂时 - 您应该覆盖“checkServerTrusted”函数并检查该函数接收的证书链。服务器的证书应该是链中的第一个。如果不是 - 这意味着您和您的服务器之间有一个代理正在监控流量。
    • 不,我想在 SSL pinning 和 HPKP 上测试不同的应用程序,例如 WhatsApp、Uber、Gmail 等。另外,我想自动执行此操作。是的,我可以扭转这个应用程序。我在代码中找到 SSL 工厂,但我不明白为什么我仍然通过 sslsplit 代理连接到服务器。
    • 您需要使用工具来绕过证书锁定,而不是进入代码并自己动手。查看github.com/ikust/hello-pinnedcerts 以便能够运行证书固定测试并验证您的配置是否正确。之后,您可以查看github.com/iSECPartners/Android-SSL-TrustKiller,它将帮助您绕过特定应用程序的固定机制。在这里查看更多信息:isecpartners.github.io/android/2013/12/13/android-tools.html.
    猜你喜欢
    • 2021-12-21
    • 2021-01-05
    • 2019-09-17
    • 2019-02-24
    • 2013-05-17
    • 1970-01-01
    • 2011-01-05
    • 2021-09-15
    • 1970-01-01
    相关资源
    最近更新 更多