积极答复者
会话标识未更新

问题
-
我用C#.net写的系统,用ibm app扫描工具检测出登陆页面存在“会话标识未更新”高危漏洞,请问哪位朋友碰见过?如何解决呢?这个问题困扰我很久了,在线等待,先谢过。
- 已移动 Sheng Jiang 蒋晟Moderator 2011年12月10日 4:43 (发件人:Visual Studio 相关讨论(Visual Studio 2010以前版本))
答案
-
你好,
如果是用户尚未登录时就有session cookie产生。可以尝试在打开页面的时候,让这个cookie过期。等到用户再登陆的时候就会生成一个新的session。
- 已标记为答案 BU XI - MSFTModerator 2011年12月19日 2:34
全部回复
-
试试看
在登陆页面的Page_Load事件
if(!IsPostBack)
{
Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
}來更新SessionReference: http://support.microsoft.com/kb/899918/zh-cn
Shadowと愉快なコード達
- 已编辑 Shadow .Net 2011年12月10日 17:35
-
我用C#.net写的系统,用ibm app扫描工具检测出登陆页面存在“会话标识未更新”高危漏洞,请问哪位朋友碰见过?如何解决呢?这个问题困扰我很久了,在线等待,先谢过。
试试看
在登陆页面的Page_Load事件
if(!IsPostBack)
{
Session.Abandon();
Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));}
來更新SessionReference: http://support.microsoft.com/kb/899918/zh-cn
Shadowと愉快なコード達
- 已编辑 Shadow .Net 2011年12月10日 17:35
-
用IBM的APP扫描工具检测出我做的C#.net的程序有会话标识未更新这个漏洞,请问下如何解决?这个问题困扰我很久了,在线等待高手回复,谢谢了
在Page_load里面添加了如何代码:
Session.Clear();
Session.Abandon();
Response.Write("<br />");
int num = Request.Cookies.Count;
for (int i = 0; i < num; i++)
{
// Response.Cookies[i].Expires = DateTime.Now.AddDays(-1);
Response.Write(Request.Cookies[i].Name+" "+Request.Cookies[i].Value+"<br />");
}
if (Request.Cookies["ASP.NET_SessionId"] != null)
{
HttpCookie cookies = new HttpCookie("ASP.NET_SessionId");
cookies.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookies);
}
/- 已合并 Sheng Jiang 蒋晟Moderator 2011年12月12日 22:08
-
这种方法没有用,加上后还是报会话标识未更新,
我现在是这样处理的,在登陆页面page_load里面加入了:
Session.Abandon();
if (Request.Cookies["ASP.NET_SessionId"] != null)
{
HttpCookie cookies = new HttpCookie("ASP.NET_SessionId");
cookies.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookies);
}由于我登陆成功后页面是index.html的框架页面,系统本身没有用到session,为了让登陆成功后产生一个固定的sessionid我建立了一个中间页面,专门用来产生sessionid的,首先我在登陆页面点击登陆按钮的时候直接跳转到中间页面:Response.Redirect("Mid.aspx");
在中间页面page_load中加入:
Session["a"] = "a";
Response.Redirect("index.html");之后我做了些打印,发现登陆前sessionid和登陆后的不一样,并且登陆sessionid是固定不变的,可是这种方式还是解决不了,请高手回复,有什么好的方式请告诉我,好困扰
-
你好,
如果是用户尚未登录时就有session cookie产生。可以尝试在打开页面的时候,让这个cookie过期。等到用户再登陆的时候就会生成一个新的session。
- 已标记为答案 BU XI - MSFTModerator 2011年12月19日 2:34
-
使cookie过期,可以参考一下这篇文章。