Struts2 允許開發人員通過插件架構包含其他 Struts2 應用程序。從網站:
Struts2 插件包含擴展、替換或添加到現有 Struts 框架功能的類和配置。除了 JAR 文件之外,還可以通過將其 JAR 文件添加到應用程序的類路徑來安裝插件,以滿足插件本身可能具有的任何依賴項。要配置插件,JAR 應該包含一個 struts-plugin.xml 文件,該文件遵循與普通 struts.xml 文件相同的格式。
這使得 Struts2 應用程序中的安全代碼審查更具挑戰性。下面是一個示例過程:
檢查目錄下的 Web 應用程序可訪問的所有 JAR 文件。WEB-INF/lib
對于每個 JAR,檢查它是否有文件。struts-plugin.xml
如果它包含一個 ,請像檢查普通的 Struts2 Web 應用程序一樣檢查它(入口點、接收器以及介于兩者之間的所有內容)。struts-plugin.xml
撇開插件審核程序不談,一個突出的安全風險插件是配置瀏覽器。
配置瀏覽器是一個非常好的插件,它可以幫助開發人員了解已部署的 Struts2 應用程序的詳細信息。反之亦然,當部署到生產環境時,配置瀏覽器可以幫助其他人了解該應用程序是如何部署的,我聽到你問它披露了什么?
應用程序中的所有 Struts2 入口點、公開入口點的類以及入口點的有用 URL
結果代碼、它們指向的文件和默認參數值
入口點內的變量名稱和類型
支柱版本2
攔截器堆棧和訂購
等等,等等,等等...
除非默認參數值包含敏感信息,否則這些都不能真正直接利用。但是來吧,這是很多信息!讓你的攻擊者稍微工作一下
至少讓他們在嘗試猜測 URL 時發出嘈雜,而不是將它們全部泄露出去。
回到插件,還記得它們是如何部署的嗎?配置瀏覽器插件只需要在類路徑上。它不會在主應用程序的源代碼或配置文件中的任何位置聲明。也就是說,沒有明顯的跡象表明插件將被加載。哎喲!
然而,希望并沒有消失。如果應用程序使用的是Maven,請查看該應用程序的內容,如下所示:pom.xml
org.apache.struts struts2-config-browser-plugin 2.3.15.1
上面告訴Maven下載配置瀏覽器JAR并將其包含在Web應用程序中。請注意,我們正在研究應用程序的編譯方式與應用程序代碼本身。是的。。。如果應用程序使用的是其他構建系統,請檢查是否聲明了類似的東西。或者也許只是查找全部或文件。如果應用程序處于活動狀態,請嘗試掃描。
審核編輯:郭婷
-
接收器
+關注
關注
14文章
2468瀏覽量
71873 -
瀏覽器
+關注
關注
1文章
1022瀏覽量
35330 -
應用程序
+關注
關注
37文章
3265瀏覽量
57678
發布評論請先 登錄
相關推薦
評論