求助:ASP.net的系统,“会话标识未更新”高危漏洞

boliheng0714 2012-05-28 06:44:10
在登陆页面的Page_Load事件里加入了如下代码:
if (!IsPostBack)
{
Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
}
结果登陆页面就不起作用了,是什么原因?
请问有什么解决这个高危漏洞的方法?最好给出代码示例
...全文
831 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
少公子 2013-01-17
  • 打赏
  • 举报
回复
happylm88 的答案是对的
happylm88 2012-07-18
  • 打赏
  • 举报
回复 2
Response.Cookies["ASP.NET_SessionId"].Expires = System.DateTime.Now.AddDays(-1);
登录页面写下这个,就行了,没次进入登录页面Session.sessionID都是重新生成
boliheng0714 2012-05-31
  • 打赏
  • 举报
回复
没有能帮助我的信息,结贴了
boliheng0714 2012-05-30
  • 打赏
  • 举报
回复
求助,急啊
licai1210 2012-05-29
  • 打赏
  • 举报
回复
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<asp:Button ID="btnLogin" runat="server" Text="登录" onclick="btnLogin_Click" />
</div>
</form>

后台
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Session["UserName"] = "测试";
Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
}
}
protected void btnLogin_Click(object sender, EventArgs e)
{
object o = Session["UserName"];
//这里后面就可以验证你的登录信息,如何验证成功就把登录信息保存到session里面
}
boliheng0714 2012-05-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
可以试试web.config中
<pages enableSessionState="false"></pages>
[/Quote]

这样的话会话就不能用了,调试都不成功
boliheng0714 2012-05-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
有Session.Abandon()的话页面都不能用了

这个是矛盾的,你使用Session的话,就不能避免这个问题,因为如果没次你的SEssionID都变化的话,那么Session的内容你就永远得不到的。
因此,你可以改用Cookie而不是使用Session
[/Quote]
Cookie貌似也有很多安全问题的,这个漏洞没有办法解决吗?貌似有很多人都用Session的
孟子E章 2012-05-29
  • 打赏
  • 举报
回复
有Session.Abandon()的话页面都不能用了

这个是矛盾的,你使用Session的话,就不能避免这个问题,因为如果没次你的SEssionID都变化的话,那么Session的内容你就永远得不到的。
因此,你可以改用Cookie而不是使用Session
boliheng0714 2012-05-29
  • 打赏
  • 举报
回复
求高手啊
boliheng0714 2012-05-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
HTML code
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<asp:Button ID="btnLogin" runat="server" Text="登录" onclick="btnLogi……
[/Quote]
有Session.Abandon()的话页面都不能用了
这个方法不行
孟子E章 2012-05-28
  • 打赏
  • 举报
回复
可以试试web.config中
<pages enableSessionState="false"></pages>

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧