首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FormsAuthenticationTicket不能在服务器端失效。导致cookie回复攻击

FormsAuthenticationTicket不能在服务器端失效。导致cookie回复攻击
EN

Stack Overflow用户
提问于 2013-05-24 19:43:29
回答 3查看 2.4K关注 0票数 3

我有一个使用表单成员身份验证的ASP.NET web应用程序。我们最近进行了渗透测试,被标记的一个问题是窃取用户帐户的能力。如果在注销之前从用户复制了.ASPXAUTH Cookie值,则用户可以作为其他用户登录,请编辑其cookie以匹配复制的值,并获得其所有特权。

在注销时,我尝试过:

正在移除cookie。我可以成功地做到这一点,但它不会使FormsAuthenticationTicket无效。

使用FormsAuthentication.SignOut(),但发现它无法阻止攻击

我个人不认为这是一个问题,我相信唯一可能被窃取的方法是如果一个用户设法获得一个认证用户的访问权限,这意味着我需要解决这个问题来安抚渗透测试人员。

任何想法都将不胜感激!谢谢

EN

回答 3

Stack Overflow用户

发布于 2013-05-24 20:55:47

注销cookie时我尝试过:删除

我可以成功地做到这一点,但它不会使FormsAuthenticationTicket无效。

实际上,当你删除cookie时,你从你的用户中删除了它-你不能停用它,所以如果有人得到了它,他仍然可以使用它。

解决方案可以是:

在server.

  • Connect上,
  • 还可以保存身份验证cookie的状态以及已登录用户的会话状态。

有关更多信息,请单击此处:Can some hacker steal the cookie from a user and login with that name on a web site?

Form Authentication - Cookie replay attack - protection

http://support.microsoft.com/default.aspx?scid=kb;en-us;900111

票数 2
EN

Stack Overflow用户

发布于 2013-05-24 21:49:55

我认为解决这个问题的唯一方法是使用SSL来保护cookie。

即使您在注销时执行了使cookie服务器端无效的操作,这也不会阻止某人在合法用户仍在登录时重放cookie。这意味着任何其他的解决方案都会让你变得脆弱。也许不会持续太长时间,但对某些窗口来说。

票数 0
EN

Stack Overflow用户

发布于 2019-07-08 03:38:39

实际上,您可以在服务器端对令牌进行排序以使其无效。基本上,ASP.NET提供了一种简单的方法来“使比date -X旧的令牌无效”,您只需在用户数据库中存储一些日期即可。例如,它可以是“上次密码更改日期”。

在这里查看我的答案:Form Authentication - Cookie replay attack - protection

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16734201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档