修复shiro固定会话攻击漏洞的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
固定会话攻击(session fixation attack)是通过给被攻击人一个带session信息的URL地址,然后诱导其登录。如果登录后session信息不变,攻击者提供session就变成了登录状态。Servlet容器允许URL地址后面增加;JSESSIONID=...的方式携带session信息。
所以必须在登录的时候,将原来的session作废,生成新的session。这里要注意的是,使用logout不能使session作废,而要用session的stop方法。代码如下:
Subject subject = getSubject(request, response);
// 此处不能使用 subject.logout(); 此方法无法让session作废,登录后还会继续使用原来的session。
subject.getSession().stop();
subject.getSession(true);
subject.login(token);
关于修复shiro固定会话攻击漏洞的示例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注天达云行业资讯频道了解更多相关知识。