asp.net中的表单身份验证Cookie值漏洞
在asp.net中,我可以像往常一样使用表单身份验证登录,复制我们的auth cookie值,注销,使用Chrome的“编辑此cookie”插件将cookie人工添加到客户端,刷新(匿名)登录页,然后再次登录。这似乎是一个漏洞-是否有任何方法可以使用标准表单身份验证来修复它,或者我是否必须使用自定义授权属性来覆盖asp.net mvc中现有的属性?您可以使用任何cookie/s来实现这一点。您可以检查/复制任何给定域中的所有cookie,如果需要,还可以进行欺骗。您可以对自己执行此操作,因为这是您的电脑(或用户登录到电脑)。显然,如果你在一台共享电脑上,这是一个问题(在你所有的信息中) “复制cookie”的行为实际上是恶意软件试图窃取/劫持您的身份(或某些网站上的当前会话)的一种方式。也就是说,除非你有一些恶意软件,否则你不能只是“复制别人的cookies”asp.net中的表单身份验证Cookie值漏洞,asp.net,asp.net-mvc,authentication,forms-authentication,Asp.net,Asp.net Mvc,Authentication,Forms Authentication,在asp.net中,我可以像往常一样使用表单身份验证登录,复制我们的auth cookie值,注销,使用Chrome的“编辑此cookie”插件将cookie人工添加到客户端,刷新(匿名)登录页,然后再次登录。这似乎是一个漏洞-是否有任何方法可以使用标准表单身份验证来修复它,或者我是否必须使用自定义授权属性来覆盖asp.net mvc中现有的属性?您可以使用任何cookie/s来实现这一点。您可以检查/复制任何给定域中的所有cookie,如果需要,还可以进行欺骗。您可以对自己执行此操作,因为这是
假设
注销
完成,您可以要求用户关闭浏览器,以便将过期的cookie从(文件)系统中删除。您可以使用任何cookie/s执行此操作。您可以检查/复制任何给定域中的所有cookie,如果需要,还可以进行欺骗。您可以对自己执行此操作,因为这是您的电脑(或用户登录到电脑)。显然,如果你在一台共享电脑上,这是一个问题(在你所有的信息中)
“复制cookie”的行为实际上是恶意软件试图窃取/劫持您的身份(或某些网站上的当前会话)的一种方式。也就是说,除非你有一些恶意软件,否则你不能只是“复制别人的cookies”
假设
注销
完成,您可以要求用户关闭浏览器,以便从(文件)系统中删除过期的cookie。我认为这本身不是一个bug。在表单身份验证期间发生以下情况
现在,关于你为什么看到你所看到的。。。您在注销之前正在复制cookie。因此,您复制的cookie从未注册注销(移动过期时间)。重新连接时,您仍然拥有有效的身份验证cookie。现在,如果表单身份验证超时设置为…比方说20分钟…如果复制cookie并等待21分钟,此方法将失败,因为此时,cookie已过期。我认为这本身不是一个错误。在表单身份验证期间发生以下情况
现在,关于你为什么看到你所看到的。。。您在注销之前正在复制cookie。因此,您复制的cookie从未注册注销(移动过期时间)。重新连接时,您仍然拥有有效的身份验证cookie。现在,如果您的表单身份验证超时设置为…比如说20分钟…如果您复制cookie并等待21分钟,此方法将失败,因为此时cookie已过期。Cookies始终是可漏洞的,我们对此无能为力。我们能做的就是防止有人偷饼干 关于ASP.NET MVC,它很好地避免了窃取cookie。作为安全性的一部分,默认情况下它所做的一些主要事情是:
关于cookies,微软提供了
HttpOnly
功能,这有助于对javascript隐藏cookies。您所说的表单身份验证是一个HttpOnly
cookie,这意味着有人不能通过JavaScript窃取,而且它更安全。Cookies总是可漏洞攻击的,我们对此无能为力。我们能做的就是防止有人偷饼干
关于ASP.NET MVC,它很好地避免了窃取cookie。作为安全性的一部分,默认情况下它所做的一些主要事情是:
HttpOnly
功能,这有助于对javascript隐藏cookies。您所说的表单身份验证是一种HttpOnly
cookie的意思