发布于 2016-07-19 08:24:48
我不知道这一点,直到我阅读了你发布的链接,所以不要认为这个答案是授权的。我建议你现在就采取“立即减轻”下列出的预防措施,直到你完全确定你没有受到影响。
首先,这个漏洞是如何工作的?这是在“它是如何工作的”下面解释的PHP示例的一个简短形式:
Proxy报头设置为由攻击者控制的邪恶IP发送请求。getenv("HTTP_NAME_OF_HEADER")中结束,在本例中为getenv("HTTP_PROXY")。getenv("HTTP_PROXY"),但不是为了获取标头,而是为了知道是否应该为传出的通信使用代理。然后,攻击者发送的IP将用作代理。值得注意的是,这里有两项要求:
如果您使用HTTPS作为A,这并不重要(我猜这就是“通过TLS服务的站点”的意思)。无论如何,它会被加密到普通的旧HTTP中。所以你很脆弱。
但是,如果您将HTTPS用于B,这可能很重要,因为(正如赫特在注释中所指出的),假定客户端检查证书和TLS是好的,攻击者无论如何都无法将请求MITM。这是他们在这些段落中谈论的第二项要求(我的重点是):
要想变得脆弱,有几件事是必要的:
HTTP_PROXY成为一个真实的或模拟的环境变量。当然,另一个有效的防御策略是在内部请求中使用HTTPS,而不仅仅是为了保护站点与外界的连接。这些都不受
HTTP_PROXY的影响。
发布于 2016-07-19 07:57:24
TLS是端到端加密,这意味着客户端和服务器之间的通信是加密的,不能被执行MitM攻击的人访问。这不会以任何方式保护您的服务器--它只保护传输的数据。因此,是的,它可以通过http和https进行开发。
https://security.stackexchange.com/questions/130439
复制相似问题