java或者jsp中修复会话标识未更新漏洞

AppScan会扫描“登录行为”前后的Cookie,其中会对其中的JSESSIONOID(或者别的cookie id依应用而定)进行记录。在登录行为发生后,如果cookie中这个值没有发生变化,则判定为“会话标识未更新”漏洞。

2. AppScan中,对“会话标识未更新”提供了修改建议:

一般修订建议 始终生成新的会话,供用户成功认证时登录。防止用户操纵会话标识。请勿接受用户浏览器登录时所提供的会话标识。

3. 依据修改建议修改如下:

登录时:

<%
session.invalidate();
Cookie[] cookies=request.getCookies();
if(null!=cookies){
for(int i=0;i<cookies.length;i++){
if("JSESSIONID").equalsIgnoreCase(cookies[i].getName()){
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
}
}
}
%>

 退出时:

<%
reponse.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires",0);
session=request.getSession(true);
session.invalidate();
%>

posted @ 2015-01-29 14:58  zfswff  阅读(350)  评论(0编辑  收藏  举报