我们的安全团队进行了一次扫描,告诉我们容易受到会话固定的攻击,docs告诉我们,在tomcat中,我们应该在context.xml中使用changeSessionIdOnAuthentication设置。
WebSphere 8.5中的等效移动是什么?
我在WAS 8.5中遇到了同样的问题。最终使用spring安全性来配置会话固定问题。
<security:session-management invalid-session-url="/login" session-authentication-error-url="/login" session-fixation-protection="newSession">
<security:concurrency-control error-if-maximum-exceeded="true" max-sessions="1" expired-url="/login"/>
WebSphere 8.5使用的servlet api版本<3.1,因此不能使用HttpServlet Request的changeSessionId()方法。
相反,您可以做的是,在应用程序中对用户进行身份验证时,可能会尝试Authentication()或类似方法,您可以这样做:
HttpSession session = request.getSession(false);
if(session != null)
session.invalidate();
session = request.getSession();
以上提供了针对会话固定攻击的保护。