我有一个关于Form authentication
cookie 漏洞的问题。在 JavaScript 中,我们可以使用 document.cookie 来访问表单身份验证 cookie 值(假设它不是 httponly)。此值已加密。我在许多博客中读到,如果有人得到这个值,我们的安全就会被破坏。我的问题是他(攻击者)如何破坏它(cookie 中的凭据),因为表单身份验证加密方法使用机器密钥来加密该 cookie,所以要解密它,需要相同的机器密钥?不是这样吗?你能澄清一下这个cookie值是如何易受攻击的,因为攻击者应该只有我的机器密钥才能解密它吗?我在这里吗?
问问题
448 次
2 回答
2
由于表单身份验证加密,他(攻击者)如何破坏它(cookie 中的凭据)
他不必解密加密的 cookie。他可以只使用 cookie 的加密值并成为你。
服务器进行加密,所以它不知道给它 cookie 的浏览器是 cookie 最初发给的人。
如果我能够获得它,使用像Modify This Cookie之类的扩展(或任何其他实现该功能的东西)将允许我将我的 cookie 设置为您的加密值。
具有讽刺意味的是,同样的问题也被问到了 StackOverflow。查看 Troy 的帖子以获取更多信息。
于 2012-08-06T21:05:02.873 回答
1
我所做的,不知道它实际上有多大帮助,但我从未见过任何违规行为(尽管进行了大约 100 次尝试)是将 cookie 与 IP 地址配对,这意味着我查找如果呼叫来自与前一个呼叫相同的 IP 地址,如果不是,它会重置 cookie,您将不得不再次登录。这并非对所有站点都完全可行,但在我的情况下,添加一些安全措施而不是允许移动性更为重要。
这种方法可能很容易受到 MITM 攻击,但你永远无法保护自己免受所有可能性的影响,除非你有巨额预算并且对性能和可访问性没有限制。
于 2012-08-06T21:15:33.180 回答