表单身份验证cookie漏洞

时间:2012-08-06 21:02:54

标签: c# asp.net security iis-7

我对Form authentication Cookie漏洞有疑问。在JavaScript中,我们可以使用document.cookie来访问表单身份验证cookie值(假设它不是httponly)。此值已加密。我在很多博客中都读过,如果有人得到这个价值,我们的安全就会被破坏。我的问题是他(攻击者)如何违反它(cookie中的凭据),因为表单身份验证加密方法使用机器密钥来加密该cookie,因此要解密它,需要相同的机器密钥?不是这样吗?你能否澄清一下这个cookie的价值是多么脆弱,因为攻击者应该把他的机器密钥和他一起用来解密它?我在这儿吗?

2 个答案:

答案 0 :(得分:2)

  

自形式认证加密

以来,他(攻击者)如何破坏它(cookie中的凭据)

他不必解密加密的cookie。他可以使用cookie的加密值成为你。

服务器进行加密,因此它不知道向其提供cookie的浏览器是最初发布cookie的人。

使用像Modify This Cookie这样的扩展程序(或其他可以实现该功能的扩展程序),如果我能够获取它,我可以将我的cookie设置为加密值。

具有讽刺意味的是,the very same question被问及StackOverflow。请查看特洛伊的帖子以获取更多信息。

答案 1 :(得分:1)

我做了什么,不知道它实际上有多大帮助,但我从未见过任何违规行为(尽管有100次尝试)是将cookie与IP地址配对,这意味着我查询该呼叫是否来自与前一次呼叫相同的IP地址,如果没有,则重置cookie并且您必须再次登录。这对所有站点来说都不是完全可行的,但在我的情况下,添加一些安全措施而不是允许移动性更为重要。

这种方法可能很容易被MITM攻击所感染,但你永远无法保护自己免受所有可能性的影响,除非你有一个怪物预算并且没有关于性能和可访问性的限制。