2016-02-26 77 views

回答

0

我将问题解决方案看作是一种多撕裂安全方法。

Apache作为守门员。如果配置正确,可以限制路由到应用程序的匿名主机头。 (仍然不确定缓存注入)

虽然在线匿名域主机头可能不会对https应用程序造成任何威胁。

但离线请求像忘记密码电子邮件重置请求确实具有很大的威胁。由于邪恶攻击者可以通过匿名域名主机标头请求忘记密码电子邮件重置。然后,如果实际用户单击密码重置链接。邪恶的攻击者将获得重置代码。

现在,这里的应用程序依靠Apache路由的主机头来创建离线响应。这不应该发生(阿帕奇应该对在线流量负责)。因此应用程序应该有自己的域名配置机制和创建离线响应。

1

那么,在这个问题提到的,Host头应该由服务器,而不是请求对象中设置。

在这种情况下,您可以拥有一个虚拟主机(vhost),该虚拟主机将捕获任何使用无法识别的主机名的请求。实现方式因Web服务器而异,但您可以在NginxApache上查看有关如何执行此操作的链接。

有关主机头攻击的更多信息可以在here找到。

+0

因此,它们是全局性的两种安全措施:其中apache虚拟主机配置为捕获任何无法识别的主机名请求。 然后还有一个本地安全措施:应用程序本身应该避免使用SERVER_NAME而不是Host标头。 – Abhisheietk

+0

@Ahisheietk - 这是否回答你的问题?如果是这样,请你接受它,以便我们可以关闭这个帖子。 – Juxhin

+0

已修补Web2py以解决主机头漏洞。 Apache配置确实是攻击的第一道防线。 – Abhisheietk