使用 HTTPS 时是否可能进行类似 MITM 的攻击?
我知道如果连接以 HTTP 开始然后被重定向到 HTTPS,它们是可能的,但如果初始连接本身使用 HTTPS 怎么办?
我正在实现一个使用 HTTPS 连接到服务器的客户端,并想知道我是否有必要明确确定服务器的真实性(不是,不是验证客户端的服务器就是它所说的那个人,而是客户端确保服务器是它所说的那样) - 我在 iOS 中这样做,那里有一个 API 可用,这使得它很容易做到,但我不确定是否有必要这样做,如果我这样做,那么如何测试它是否有效。
谢谢
最佳答案
MITM SSL 绝对有可能,如果您不实际检查服务器的证书,通常很容易。
假设有人在咖啡店使用您的应用,恶意员工控制了无线路由器。他们可以监视到您服务器的 HTTPS 连接并将它们重定向到本地 MITM 程序。例如,该程序接受使用自签名 SSL 证书的连接,然后打开与您的真实服务器的连接并代理它们之间的流量。
只要检查服务器证书的有效性,就可以阻止这种简单的攻击。所以这样做。 :-)
有更复杂的攻击已经被证明,在特殊情况下,即使您检查证书,MITM 仍然可以建立 SSL 连接,但是使这些攻击起作用的环境非常困难,无法安排大多数开发人员需要的'不用担心他们。
关于security - HTTPS 可以进行 session 劫持/MITMA 等吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13353981/