最近,struts修補了一個漏洞,允許攻擊者執行遠程代碼。顯然,不打補丁,這是想給黑帽子與花車紅地毯歡迎: -/Struts 2 S2-016虛擬化緩解直到升級
http://struts.apache.org/release/2.3.x/docs/s2-016.html
基本上它允許攻擊命令執行這樣的:
正統劇動作:http://host/struts2-showcase/employee/save.action?redirect:%25{3*4}
剝削行動: http://host/struts2-showcase/employee/save.action?redirect:%25{(new+java.lang.ProcessBuilder(new+java.lang.String[]{'command','goes','here'})).start()}
雖然我知道升級應儘快完成,但儘快我們的代碼庫會使用舊的struts版本和插件,這意味着一段時間。
,這將需要一些重構升級撐杆2個庫,那麼那些需要進行測試等
我的問題是爲此是否有人有任何想法,以阻止執行此漏洞?這隻會在我們能夠升級之前。
我想知道在對OGNL進行評估之前是否可以編寫一個攔截器來清理URL,如果可以,它會緩解這個問題嗎?
我的其他想法是以某種方式使用Java安全管理器來阻止任意進程調用,這可能嗎?它會暫時修補這個洞嗎?
正在使用的服務器是jBoss,如果有人認爲這是相關的。
你有一些服務器在你的jBoss之前,Apache可能?如何限制訪問某些uri-s。 –
你的意思是負載平衡器或具有URL限制功能的防火牆的東西? – Thihara
那還是一個反向代理,就像Apache一樣。 –