删除/使服务器端身份验证 cookie/票无效

问题描述

我在 Asp.net 中有一个使用 FormAuthentication(.ASPXAUTH) 的 Web 应用程序。我正在通过 Burp 套件捕获其中一个请求并将其发送到转发器并在转发器中操作一些参数。当我从应用程序注销并通过 burp 的转发器发送请求时,即使我已经从应用程序注销,因为 Burp 套件已捕获所有身份验证和会话 cookie,更改仍会完成。有什么方法可以使服务器端捕获的 cookie 无效,以便 burp 套件无法使用捕获的请求进行操作? 我尝试了所有可能的事情,例如 Session.Clear()/Session.Abandon(); 并且没有任何效果,甚至使会话无效但没有任何效果

解决方法

我不相信这是不可能的,如果不做一些事情,比如在服务器端存储一个随机数,与 cookie 一起发布,并使身份验证依赖于有效的 cookie + 匹配的随机数。然后,您可以在用户注销时循环随机数,并在他们下次登录时使用新的 cookie 发出新的随机数。

这个问题详细介绍了表单身份验证的工作原理以及为什么您需要进行一些服务器端跟踪才能实现您想要的:

https://security.stackexchange.com/questions/210617/why-are-asp-net-form-authentication-cookies-deleted-only-on-client-side-if-clien

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...