我需要在運行於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