使用 SSL 如何保护 aginst dns 欺骗?因为 DNS 处于较低级别,无论用户访问的是 HTTP 还是 HTTPS 站点,它的工作方式总是相同的。
为什么 DNS 欺骗对 HTTPS 站点不起作用?
信息安全
tls
dns 欺骗
2021-08-26 14:22:37
2个回答
假设您设法使用您控制的 IP 毒化了 securesite.com 的 DNS 缓存。现在,当客户端访问https://securesite.com时,它将解析为您的 IP 地址。作为 SSL 握手过程的一部分,您的服务器将需要为 securesite.com 发送包含公钥的有效证书。
此时,您有 2 个选项。
1) 发送合法证书。由于证书是由受信任的 CA 签署的,因此这将检查出来。然后,客户端将使用公钥加密主密钥。此时它会崩溃,因为没有私钥,您无法解密主密钥,因此您无法完成连接设置。
2) 发送自签名证书。但是,由于它不是由受信任的 CA 签名的,因此客户端的浏览器上会显示一条警告。如果客户端仍然选择继续,那么您已经成功执行了攻击。
DNS 欺骗通常不会在 HTTPS 网站上起作用,除非客户端选择忽略警告标志或者您设法获取该站点的私钥。
假设您 DNS 欺骗了一个站点,并将用户重定向到您控制的服务器。这是可能的,但如果用户访问该站点的 https 版本,则可能没有用,因为您没有您正在欺骗的站点的私有 ssl 密钥,并且您的受害者将无法与您的虚假站点建立 ssl 连接。
类似的另一种方法是使用 sslstrip 和 dns2proxy,但那是另一个主题。
其它你可能感兴趣的问题