为了账号安全,请及时绑定邮箱和手机立即绑定

会话标示未更新解决方案

标签:
JQuery

JSF项目,用appscan检测,报“会话标示未更新”漏洞,漏洞详情:用户在登陆应用程序前后,其会话标识一样,未进行更新,从而可以窃取或操作客户会话和Cookie,进行查看、变更用户信息及执行事务等操作。

推理:  测试结果似乎指示存在脆弱性,因为“原始请求”和“响应”中的会话标识相同。这些标志应该已在响应中更新。

JSF页面在打开时,就会生成一个sessionid,登录后的sessionid未发生变化。
解决方案:
后台登陆方法,加入强行销毁session的代码,并重新生成新session。

代码转自:http://huangqiqing123.iteye.com/blog/2031455

/**  * 重置sessionid,原session中的数据自动转存到新session中  * @param request  */  public static void reGenerateSessionId(HttpServletRequest request){      HttpSession session = request.getSession();      //首先将原session中的数据转移至一临时map中      Map<String,Object> tempMap = new HashMap();      Enumeration<String> sessionNames = session.getAttributeNames();      while(sessionNames.hasMoreElements()){          String sessionName = sessionNames.nextElement();          tempMap.put(sessionName, session.getAttribute(sessionName));      }      //注销原session,为的是重置sessionId      session.invalidate();      //将临时map中的数据转移至新session      session = request.getSession();      for(Map.Entry<String, Object> entry : tempMap.entrySet()){          session.setAttribute(entry.getKey(), entry.getValue());      }  }

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消