在我的應用程序,我們使用Struts URL標籤在我們的freemarker模板是這樣的:Struts2的Freemarker的XSS漏洞
<s.url action="struts-action-name"/>
的問題是,不是附加的動作URL到應用程序的根URL,它實際上追加它到當前的URL。
說我們打www.example.com/community/examples/xss187ba"><ScRiPt>alert(1)</ScRiPt>506d1768713/career_development
,並在FTL該頁面,我們有這樣的形式:
<form action="<s.url action="struts-action-name"/>">
渲染FTL應該是這樣的:
<form action="/community/examples/xss187ba"><ScRiPt>alert(1)</ScRiPt>506d1768713/career_development">
導致警報彈出...有人處理過這個問題嗎?這是Struts中的錯誤還是我們在這裏做錯了?
最明顯的解決方法是使用URL標記是這樣的:
<form action="<s.url value="/struts-action-name.jspa"/>">
在另一方面快速搜索顯示在項目標籤2500層的用途和重構所有這些不會是一個非常有趣的/高效的工作:(
任何幫助,意見或建議將高度讚賞。
-Andre