security - HTTPS 可以进行 session 劫持/MITMA 等吗?

标签 security ssl https

使用 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/

相关文章:

ssl - 带有 cloudflare 的 Docker

android - java.security.cert.CertPathValidatorException : Could not validate certificate

javascript - 在源代码中隐藏/混淆 Javascript 变量

security - 安全的只读sqlite3数据库

mod-rewrite - https://subdomain.example.com 重定向到 https://example.com:port

android - 如何在安卓上通过 ssl (https) 下载文件

ssl - 如何在 Wireshark 中查看加密的应用程序数据

java - 如何从 wsdl 文件中的 Web 服务端点删除端口号

PHP 安全性使用 POST 而不是 GET 来防止 XSRF?

ruby-on-rails - 如何防止密码出现在公开可见的代码中?