我需要在运行于JBoss的Java Web应用程序中阻止Session Fixation这一特定类型的会话劫持。不过,看来标准成语doesn't work in JBoss。这可以解决吗?在JBoss中解决会话固定问题
回答
This defect(找到here)指出了解决方案。在JBoss中运行的Tomcat实例配置为emptySessionPath =“true”,而不是“false”,这是默认设置。这可以在.../deploy/jboss-web.deployer/server.xml
; HTTP和AJP连接器都有这个选项。
该特性本身用于消除JSESSIONID cookie中包含的上下文路径(例如http://example.com/foo中的“foo”)。将其设置为false将打破依赖跨应用程序认证的应用程序,其中包括使用某些门户框架构建的东西。但是,它并没有对所涉及的应用产生负面影响。
这个问题以及它发生的具体情况在Tomcat和JBoss中都是一个问题。 Tomcat共享emptySessionPath =“true”效果(实际上JBoss从Tomcat继承它)。
这似乎是Tomcat和JBoss中的一个错误,当您尝试阻止会话修复攻击时,但servlet规范(至少2.3版本)实际上并不需要根据任何特定逻辑定义或重新定义JSESSIONID。也许这已经在后来的版本中被清除了。
一种解决方法是在会话中存储客户端地址。响应包装应验证会话中设置的客户端地址与访问会话的客户端地址相同。
我从四位一体的代码设置片段中了解到。我在下面添加了几行。但是当我在登录到应用程序之后和之前打印会话ID时,它是一样的。我将如何测试会话固定。
D:\ jboss-5.1.0.GA \ bin \ run.cof文件并添加下面的行。 在每个jboss应用程序的context.xml中设置“JAVA_OPTS =%JAVA_OPTS%-Dorg.apache.catalina.connector.Request.SESSION_ID_CHECK = false”
。 d:\ jboss-5.1.0.GA \服务器\ DEFAULT \部署\ jbossweb.sar \ context.xml的
- 1. Joomla 2.5中的会话固定问题
- 2. 如何解决JBoss中的OutOfMemoryError问题?
- 3. 如何解决会话过期问题
- 4. 会话固定在cookies中会话固定
- 5. 解决Jboss数据源配置问题
- 6. 会话固定 - 在会话中访问值时发生错误
- 7. 会话固定
- 8. 如何解决ASP.NET,VB.NET中的这个会话问题?
- 9. 我该如何解决固定旁路菜单的问题?
- 10. 会话问题 - 但会话问题?
- 11. 试图解决对话框问题
- 12. 无法解决电话问题
- 13. 会话固定,关闭register_globals仍然是一个问题?
- 14. 如何解决PHP会话文件空问题?
- 15. 我无法解决这个会话相关的问题!
- 16. PHP cURL不存储会话cookie ...如何解决这个问题?
- 17. 解决问题!
- 18. 解决问题
- 19. 如何做会话固定?
- 20. 会话未得到解决
- 21. 解决JSP会话注销
- 22. 会话问题?
- 23. 会话问题
- 24. 会话问题
- 25. 会话问题
- 26. 一种解决方案会导致无关问题的解决?
- 27. Spring安全性中的会话固定
- 28. ASP.Net中的会话固定MVC
- 29. 决策树问题解决
- 30. JBoss会话超时
我与JBoss 6.1工作,正好碰到这个问题。我的server.xml中没有emptySessionPath选项。那么,6.1版本怎么做呢? – 2013-05-29 07:59:35
如果其他人有兴趣,我找到了一个解决方案。在这个线程中寻找@ Rp-的答案:http://stackoverflow.com/questions/11028145/listening-for-login-events-in-jboss-as-6 – 2013-05-29 09:13:31