C# 表单身份验证cookie漏洞

C# 表单身份验证cookie漏洞,c#,asp.net,security,iis-7,C#,Asp.net,Security,Iis 7,我有一个关于表单身份验证cookie漏洞的问题。在JavaScript中,我们可以使用document.cookie访问表单身份验证cookie值(假设它不是httponly)。此值已加密。我在很多博客上读到,如果有人得到这个值,我们的安全就会被破坏。我的问题是,既然表单身份验证加密方法使用机器密钥加密该cookie,那么他(攻击者)如何能够破坏它(cookie中的凭据),所以要解密它,需要相同的机器密钥?不是吗?你能告诉我cookie值是如何容易受到攻击的吗?因为攻击者应该随身携带我的机器密钥

我有一个关于
表单身份验证
cookie漏洞的问题。在JavaScript中,我们可以使用document.cookie访问表单身份验证cookie值(假设它不是httponly)。此值已加密。我在很多博客上读到,如果有人得到这个值,我们的安全就会被破坏。我的问题是,既然表单身份验证加密方法使用机器密钥加密该cookie,那么他(攻击者)如何能够破坏它(cookie中的凭据),所以要解密它,需要相同的机器密钥?不是吗?你能告诉我cookie值是如何容易受到攻击的吗?因为攻击者应该随身携带我的机器密钥,然后才能解密?我就在这里吗

自从表单身份验证加密以来,他(攻击者)如何能够破坏它(cookie中的凭据)

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

服务器进行加密,因此它不知道提供cookie的浏览器是cookie最初发布给的用户

如果我能够获得cookie的加密值,那么使用像这样的扩展(或实现该功能的任何其他扩展)将允许我将cookie设置为您的加密值

具有讽刺意味的是,有人问起StackOverflow。更多信息,请查看特洛伊邮报

自从表单身份验证加密以来,他(攻击者)如何能够破坏它(cookie中的凭据)

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

服务器进行加密,因此它不知道提供cookie的浏览器是cookie最初发布给的用户

如果我能够获得cookie的加密值,那么使用像这样的扩展(或实现该功能的任何其他扩展)将允许我将cookie设置为您的加密值


具有讽刺意味的是,有人问起StackOverflow。查看Troy的帖子以了解更多信息。

我所做的,不知道它实际有多大帮助,但我从未见过任何违规行为(尽管有大约100次尝试)是将cookie与IP地址配对,这意味着我会查找该呼叫是否来自与前一个呼叫相同的IP地址,如果不是,它会重置cookie,您必须再次登录。这并不完全适用于所有站点,但在我的案例中,添加一些安全措施比允许移动性更重要


这种方法对于MITM攻击来说很可能是不可接受的,但除非你有一个庞大的预算,并且在性能和可访问性方面没有限制,否则你永远无法保护自己不受所有可能发生的情况的影响。

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


这种方法可能很容易被MITM攻击所接受,但除非你有一个庞大的预算,并且在性能和可访问性方面没有限制,否则你永远无法保护自己不受所有可能发生的情况的影响。

MAN!你是对的。我想他可以在他的客户机上创建一个虚拟cookie,并可以设置值(劫持的一个)并可以将其发送到服务器?对吗?@RockySingh yep。这就是为什么HTTPS很重要,甚至超出了最初的身份验证步骤。HTTPS也可以通过网络对cookies进行加密。@RockySingh我添加了一个链接到一个博客,应该对其进行更深入的解释。伙计!你是对的。我认为他可以在客户端创建一个虚拟cookie,并且可以设置他(劫持了一个)并且可以将其发送到服务器?这是正确的吗?@RockySingh yep。这就是为什么HTTPS很重要,甚至超出了最初的身份验证步骤。HTTPS也可以通过网络加密cookies。@RockySingh我添加了一个链接到一个博客,应该对其进行更深入的解释。你可能想在这里阅读它。但是,如果我没有弄错的话,可以使用某种形式的countermeasure是由MS实施的。您可能想在这里了解一下。但是,如果我没有弄错的话,MS实施了某种形式的对策。要求用户保持在同一IP地址会带来拒绝合法用户访问的风险。用户可能会因各种原因在会话中更改IP地址:*插入或拔出以太网连接和切换到/从Wi-Fi*通过移动来更改Wi-Fi热点或手机发射塔*连接/断开VPN(更改默认路由)*使用IP地址池的动态NAT*负载平衡或分布式代理仅在部分IP地址上匹配可以减少影响…但也为同一家咖啡店的人劫持连接打开了大门。IP地址验证的应用程序主要部署在需要该级别秒数的解决方案中urity。我想这一切都取决于你试图保护的内容。要求用户保持在同一IP地址会带来拒绝合法用户访问的风险。用户可能会出于各种原因在会话中更改IP地址:*插入或拔出以太网电缆并切换到/从Wi-Fi切换*通过movin更改Wi-Fi热点或手机发射塔g环绕*连接/断开VPN(更改默认路由)*使用IP地址池的动态NAT*负载平衡或分布式代理仅在部分IP地址上匹配可以减少影响…但也为同一家咖啡店的人劫持连接打开了大门。IP地址验证的应用程序主要部署在需要该级别秒数的解决方案中乌里蒂,我想这一切都取决于你想保护什么。