【问题标题】:iOS application transport security for charlesproxycharlesproxy 的 iOS 应用程序传输安全性
【发布时间】:2016-11-11 09:11:03
【问题描述】:

我正在 iOS 中创建一个需要与我的 TLS-1.2 兼容服务器通信的应用程序。 iOS 9 之后,引入了 ATS(应用程序传输安全),默认启用此功能。我无法再使用 CharlesProxy 轻松查看我的数据包了。

搜索后发现我们可以在我的应用程序的info.plist临时禁用它以查看流量​​。

<key>NSAppTransportSecurity</key>
<dict>
    <!--Connect to anything (for dev env only)-->
    <key>NSAllowsArbitraryLoads</key>

如果我理解正确的话,ATS 是用于数据加密而不是 MITM。我们需要某种 SSL pinning 来实现 MITM 预防。我的问题来了,为什么不修改info.plist就看不到charles代理上的流量? (虽然我可以看到来自其他应用程序的其他 https 调用)

【问题讨论】:

  • MITM 使用 https 并不容易。对于 Charles Proxy,您作为计算机管理员允许 Charles Proxy 安装证书,这允许 Charles Proxy https 会话被接受。固定不会允许这样做,因为不仅允许任何有效证书,而且属于您期望的服务器的证书。

标签: ios tls1.2 app-transport-security


【解决方案1】:

您需要允许 Charles 进行 MITM 攻击。为此,您需要在您的设备上安装 Charles 的证书。有关如何执行此操作的信息可以在他们的网站上找到here。

正确安装证书后,需要选择URL,右键点击该URL的“SSL代理”。

【讨论】:

  • 感谢您的意见,我最终更新了 Charles 版本,他们提到只有在某些版本的 Charles 之后才支持 ATS
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-07
  • 2016-01-05
  • 2016-05-16
  • 2016-09-19
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
相关资源
最近更新 更多