目前分類:死踹死2.x (7)

瀏覽方式: 標題列表 簡短摘要

最近打算將 Struts 2.0.x 版本直接升到 2.2.1,但如此一來之前為 Struts 2.0.x 所寫的一些能讓 XML 配置檔的 include tag 使用萬用字元的 Class 就無法運作了。

為了讓 Struts 2.2.1 XML 配置檔的 include tag 也能使用萬用字元,所以我又回頭去追原始碼,打算像之前 Struts 2.0.x 版一樣自己來寫一個,但是在追原始碼的過程中,我發現 Struts 2.2.1 本身已經有支援 include tag 使用萬用字元了,於是我在往前回溯到之前一度用過的 Struts 2.1.6,發現在 2.1.6 其實就已經有支援了,雖然我沒有再往前追查 2.1 最早的版本,但我相信 2.1 應該就已經支援了,而且不論如何,至少 2.1.6 確定是有支援配置檔的 include tag 使用萬用字元

大笨鳥 發表在 痞客邦 留言(0) 人氣()

會有這個後續篇,主要是因為笨鳥對於用來攻擊的 OGNL 語法不甚了解,於是想研究看看,再加上在找相關資料的過程中,看到了這篇文章「Struts2 與 Webwork 遠程命令執行漏洞分析」裏提到,光只過濾「\u0023」仍無法堵住這個漏洞,因此在土法鍊鋼的反覆測試與參考上述文章後,有了些心得可以記錄下來。

因為是土法鍊鋼,所以有些地方笨鳥就只能針對觀察到的現象加以描述,而無法用什麼理論來驗證,這個可能要先說在前頭了。

大笨鳥 發表在 痞客邦 留言(0) 人氣()

剛國鏈傳來一個訊息,是有關 Struts 2 的一個重大漏洞,這個漏洞的嚴重性能讓有心人藉由傳遞 URL 的參數來亂搞整台 Server 。

相關文章請參考以下的連結:

大笨鳥 發表在 痞客邦 留言(0) 人氣()

版本:
  Struts 2.0.14

大笨鳥 發表在 痞客邦 留言(0) 人氣()

問題描述:
  在 struts2 讀取 Cookie 可以使用 CookieInterceptor 與 Action 實作 CookiesAware 介面的方式,讓 CookieInterceptor 將 Cookie 裏的值放入 Map 並丟入 Action 中。但此次在實作時,CookieInterceptor 竟然會丟出『No object in the CompoundRoot has a publicly accessible property named 'Cookie 名稱' (no setter could be found) 』的錯誤並中斷程式的執行。

大笨鳥 發表在 痞客邦 留言(0) 人氣()

以下將陸續整理出發現到的 Struts 2.0 與 Struts 2.1 不同之處,提供程式設計師從 Struts 2.0.X 轉換到 Struts 2.1.X 時一個注意清單。
  • Struts 2.1 預設是無法使用 Ognl 呼叫 class 中的 static method,必須在 struts.xml 或 struts.properties 中,將 struts.ognl.allowStaticMethodAccess 設成 true 才可作用。

大笨鳥 發表在 痞客邦 留言(0) 人氣()

小弟最近將 Struts 2.0.11 提升到 2.1.6 之後,發現了一個問題,那就是使用 Ognl 呼叫類別中的靜態方法時,吐出來的值竟然空空如也,連錯誤訊息也沒有。
 

大笨鳥 發表在 痞客邦 留言(0) 人氣()