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

 2023-02-16    360  

问题描述

我使用表单成员身份验证有ASP.NET Web应用程序.我们最近经过渗透测试,标记的问题是窃取用户帐户的能力.如果在登录用户之前从用户复制了.aspxauth cookie值.用户可以作为其他用户登录,编辑其cookie以匹配复制的值并获取所有特权.

在注销时我尝试过:

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

删除cookie.我可以成功执行此操作,但它不会使FormsAuthenticationTicket无效.

使用 formsauthentication.signout()但发现它不会阻止攻击

我个人不认为这是一个问题,我相信它可以被盗的唯一方法是,如果使用管理到访问经过身份验证的用户,这表示我需要解决这个问题以缓解渗透测试仪.

任何想法都会非常感谢!
谢谢

推荐答案

在注销时,我尝试过:删除cookie.
我可以成功执行此操作,但它不会使FormsAuthenticationTicket无效.

实际上删除cookie时,可以从用户删除它 – 您无法解除激活它,因此如果有人获得它,他仍然可以使用它.

解决方案可以是:

  • 在服务器上保存身份验证cookie的状态.
  • 将记录用户的状态与其会话连接.

在这里阅读更多:可以一些黑客可以从用户偷走cookie并使用网站上的名称登录?

和表单身份验证 – cookie重放攻击 – 保护

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

其他推荐答案

我认为唯一的真实方法是使用SSL来保护cookie.

即使您在注销时执行Cookie服务器端的事情,也不会阻止某人在合法用户仍登录时重放Cookie.这意味着任何其他解决方案都会让您脆弱.也许不是太长时间的时间,但对于一些窗口.

其他推荐答案

您实际上 can sorta无效令牌服务器端.基本上,ASP.NET提供了一种简单的方法,即将”无效的令牌无效-X-X”,您只是为了在用户数据库中存储某些日期.例如,它可以是”最后一个密码更改日期”.

在这里检查我的答案:表格认证 – cookie重播攻击 – 保护

以上所述是小编给大家介绍的FormsAuthenticationTicket不能在服务器端失效。导致cookie回复攻击,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34062.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。