https://letsencrypt.org/docs/certificates-for-localhost/摘录
您可能会试图通过在全局DNS中设置一个解析为127.0.0.1 (例如localhost.example.com)的域名、为该域名获取证书、将该证书和相应的私钥与您的本地应用程序一起发送、以及告诉您的web应用程序与https://localhost.example.com:8000/而不是http://127.0.0.1:8000/进行通信来解决这些限制。别这么做。这将使您的用户处于危险之中,您的证书可能会被吊销。通过引入域名而不是IP地址,攻击者可以在中间(MitM)查找域名并注入指向不同IP地址的响应。然后攻击者可以假装是本地应用程序,然后将假回复发送回web应用程序,这可能会危及您在web应用程序端的帐户,这取决于它是如何设计的。
有人能解释一下这场MITM攻击是如何进行的吗?假设我拥有TLD example.com。在安装本机应用程序时,我还为localhost.example.com添加了一个主机重定向到127.0.0.1。
发布于 2018-12-07 07:38:14
如果您为localhost.example.com添加了一个主机条目,并且证书只覆盖了localhost.example.com,那么就不可能在网络中针对您的系统进行任何MITM攻击,因为您的系统将使用来自主机的条目,而不是使用DNS来查找域。
但是,如果包含此证书的应用程序不仅被您使用,而且被其他人使用,那么为了安全起见,每个人都必须添加这样的主机条目。你可能无法预料到这一点。
此外,攻击者还可以从应用程序中提取证书和私钥,并在某些情况下针对甚至不运行应用程序的用户使用它。例如,如果login.example.com设置了域*.example.com范围的会话cookie,那么在访问localhost.example.com时也可以读取该会话cookie,并且可以使用提取的证书和私钥成功地读取该域的D4。
https://security.stackexchange.com/questions/199285
复制相似问题