簡體   English   中英

JAVA更改JSESSIONID cookie

[英]JAVA Change JSESSIONID cookie

我在JBOSS 5上使用JAVA和Wicket。我需要更改JSESSIONID cookie值,以獲取在另一個客戶端中使用的同一Session(設置另一個客戶端的JSESSIONID)。 我需要它來認證沒有鍵盤的其他客戶端。 什么是最好的方法?

如果您確實想破解JSESSIONID我不建議這樣做 ),則可以執行以下方法:

  • 寫一個Servlet過濾器
  • 在該過濾器中,為HttpServletRequest寫一個包裝器(此類的新實例必須傳遞到chain.doFilter() )(我們稱它為RequestWrapper
  • RequestWrapper重寫getSession(boolean)方法

getSession(booelan)實現中,您必須

  • 識別(並記住)您要與非鍵盤用戶“共享”的會話(應該優先)
  • 確定您要進行“更改”時的情況(通過某種檢查確定您的非鍵盤用戶時)
  • 當您必須“更改”時,可以從getSession()返回所記住的會話

關鍵時刻是: 您如何識別非鍵盤用戶? 如果您不能安全地進行操作(從您提供的當前信息中看不到),這是一個安全漏洞

我建議您在應用程序中實現某種自動登錄功能 這樣做有很多可能性( 客戶端證書或與其他一些AA提供程序的單點登錄 ,甚至是域cookie)。

如果您嘗試使用其他應用程序登錄,則可以選擇“ HTTP基本身份驗證” ,“客戶端證書”,或者只是將用戶名/密碼發布到您的登錄頁面(不過,這不是最安全的)。

我更喜歡Client Certificate ,因為那是最安全的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM