我正在检查 iPhone 应用程序上通过 SSL 运行的协议。我有哪些选项可以实施中间人攻击?

我正在检查 iPhone 应用程序上通过 SSL 运行的协议。我有哪些选项可以实施中间人攻击?

我正在尝试对应用程序进行逆向工程,我需要检查手机和服务器之间的流量。我知道如何很好地使用 MITM 和网络分析工具,但是,如果流量是加密的,我不知道该怎么做。我在这里有什么选择吗?还是我孤注一掷?

答案1

我认为,如果相关应用被硬编码为仅接受特定证书,那么你可能就没戏了。但是,这样对应用进行硬编码可能不太明智,因为这意味着,如果服务器的私钥被盗用或证书过期,他们就必须发布新版本的应用。

但是,如果它接受由受信任的根 CA 证书正确签名的任何目标域名的服务器证书,则您可能可以按照以下步骤操作:

  1. 创建您自己的根 CA 证书,并使用它为相关域名签署/颁发虚假服务器证书。在您的 MITM 代理应用程序上安装虚假服务器证书。考虑使用类似查尔斯代理,很多 iOS 开发人员使用它来做这类事情,因为它使事情变得相对容易。
  2. 告诉 iPhone 信任您的根 CA 证书。这通常是通过安装 iOS 配置/配置文件来完成的,您可以使用 Apple Configurator 应用程序(以前称为 iPhone 配置实用程序)创建该配置文件。
  3. 使用代理运行应用程序。请注意,您可能必须使用 /etc/hosts 或控制您自己的 DNS 服务器,以确保目标服务器主机名解析为您的代理的 IP 地址。

相关内容