gpt4 book ai didi

asp.net - session 固定 - 表单例份验证

转载 作者:行者123 更新时间:2023-11-28 19:46:44 24 4
gpt4 key购买 nike

我使用的表单例份验证是 ASP.NET。我正在为一个学校项目运行渗透测试。我正在使用 LENS -ASP.NET 渗透测试工具。在结果中,它告诉我我的应用程序可能容易受到 session 固定的影响。有谁知道如何减轻这种情况?

谢谢

最佳答案

session 固定是一种攻击,其中一个人固定另一个人的 session 标识符 (SID)。

攻击从攻击者访问网站并建立有效 session 开始,当应用程序提供包含 session ID 的 cookie 时,攻击者已修复或锁定已知的良好 session 。然后,攻击者将诱骗受害者使用此 session ID。此时攻击者和受害者共享相同的 Session ID。现在,只要存储在固定 session 中的信息用于为受害者做出决定或显示只有受害者应该看到的信息,攻击者就有可能使用和查看这些信息!你可以read more here .

唯一的解决方法是让 ASP.NET 在任何成功的身份验证后发布一个新的 session ID,这样一旦受害者登录,攻击者将无法访问该 session 。还有一点要记住:永远不要在用户登录之前传递 session 。

请记住,在 ASP.net 中 Session.Abandon() 不足以完成此任务,它不会从用户浏览器中删除 session ID cookie,因此对同一应用程序的任何新请求, session被放弃后,会使用相同的session ID和一个新的Session State实例! As Microsoft states here .您需要放弃 session 清除 session ID cookie:

Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));

在您的 web.config 文件中更改表单例份验证 cookie 名称也是一个好习惯:

<authentication mode="Forms">
<forms name=".CookieName" loginUrl="LoginPage.aspx" />
</authentication>

这里有一篇关于 Session Attacks and ASP.NET 的好文章以及如何解决。

关于asp.net - session 固定 - 表单例份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10869216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com