使用 Https 和第二个有效证书的中间人攻击

Man in the middle attack using Https and a second valid certificate

考虑到这种情况,可以执行中间人攻击:

  1. 通讯使用HTTPS协议
  2. 攻击者嗅探来自客户端的请求,并向客户端本身发送一个由 CA 签名的有效证书(不是真实服务器的证书,而是自己的证书 CA - 不是自签名证书)
  3. 攻击者将客户端的请求重定向到他的服务器的 URL

    客户注意到什么了吗?最终这个问题的解决方案是什么?

如果客户端正确检查了证书,这是不可能的。正确的验证不仅检查证书是否由受信任的 CA 签名,还包括检查请求的目标是否与证书的主题匹配。在 HTTP 的情况下,这意味着检查 URL 中的主机名是否包含在证书的主题中。