加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 如何追踪过期的WIF fedauth cookies?

发布时间:2020-12-16 07:17:54 所属栏目:asp.Net 来源:网络整理
导读:尝试跟踪过期的WIF身份验证会话/ cookie时,我遇到了一个有趣的问题. 作为一个背景:该站点是MVC 3,使用与ADFS服务器作为STS信任的Windows Identity Foundation(WIF).整个站点受SSL保护. STS将令牌到期时间设置为60分钟. 当用户手动注销时,我们只需在FedAuth
尝试跟踪过期的WIF身份验证会话/ cookie时,我遇到了一个有趣的问题.

作为一个背景:该站点是MVC 3,使用与ADFS服务器作为STS信任的Windows Identity Foundation(WIF).整个站点受SSL保护. STS将令牌到期时间设置为60分钟.

当用户手动注销时,我们只需在FedAuth模块上调用SignOut方法:

FederatedAuthentication.WSFederationAuthenticationModule.SignOut(false);

这当然会删除FedAuth cookie,但问题出现在这里.如果我用Fiddler捕获这些cookie,我可以在它们的到期时间内将它们重新呈现给网站,并且仍然被视为已登录.

我意识到这是从浏览器的特权位置执行,已经接受了小提琴作为代理…但是客户担心那些实际上没有过期的身份验证cookie会带来很大的安全风险.他们不相信SSL足以保护网站,如果攻击者可以执行MITM攻击,他们可以在用户认为已经注销后使用这些cookie.

我已经解释过如果他们在注销后容易受到攻击,他们在登录时很容易受到攻击,但是他们并不关心…

所以我一直在寻找方法来确保一旦用户注销,与该登录会话相关联的fedauth cookie将被视为已过期. WIF处理程序似乎没有用于跟踪过期令牌的内置机制,我还没有找到与此相关的任何其他内容.

我想这实际上是一个更广泛的问题 – >如何检测一般过期的cookie?有效的cookie是有效的cookie!

显而易见的解决方案是以某种方式在注销后跟踪这些cookie,但是如果可能的话我想避免使用自定义代码路由;作为一个菜鸟,许多安全文献都说要避免自定义编码任何类型的会话机制,因为你可能会弄错它!

是否有人知道ASP.NET中的任何标准解决方案?

提前致谢.

解决方法

您不必保留最近撤销的令牌的服务器端列表.这就是为什么我们通常依靠固有的到期以及HTTPS来防止令牌泄露/被盗.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读