0×00 背景
安全研究人員指出apache struts2在漏洞公告s2-020裡,在處理修復cve-2014-0094的漏洞修補方案存在漏洞,導致補丁被完全繞過。
0×01 分析
struts2 s2-020 中加入 (.*\.|^)class\..* 來過濾action引數。然而最近翰海源報告了一種繞過方法(使用class['classloader']來代替class.classloader繞過正規表示式,從而完全繞過s2-020的補丁。
翰海源提出較為嚴格的臨時解決方案,替換所有的 ^dojo\..* 改為 (.*\.|^)class.*,^dojo\..*
因此過濾所有class開頭和包含.class的action引數。顯然這個解決方案不夠完美,我覺得替換成
(.*\.|^)class(\.|('|")]|\[).*,^dojo\..*
才好,只過濾class開頭且後面為. [ "] '] 形式的引數。
done!
0x02 利用
ddos原利用方法:
不存在的路徑
繞過方法:
'classloader']['resources']['dircontext']['docbase']=不存在的路徑
遠端命令執行原利用方法:
對映主機共享目錄
繞過方法:
'classloader']['resources']['dircontext']['docbase']=對映主機共享目錄
Struts2再曝高危漏洞 S2 020補丁繞過
之前s2 020漏洞利用方式見drops struts2 tomcat class.classloader.resources.dircontext.docbase賦值造成的dos及遠端 執行利用 臨時不清楚究竟是誰發出來的補丁繞過。之前 nebula 發的tomcat 繞過方式是 補充 1 高版本...
struts2 s2 45漏洞利用
網上放出了python版的struts2 s2 45漏洞利用exp,可執行win或linux命令。實踐了幾個linux伺服器,記錄下linux下獲取webshell過程。訪問web,隨便挑乙個檔名,如qzxdh.jpg,利用exp執行find name qzxdh.jpg,獲取web物理路徑。利用w...
S2SI框架搭建之struts2
struts2是乙個基於mvc設計模式的web應用框架,它本質上相當於乙個servlet,在mvc設計模式中,struts2作為控制器 controller 來建立模型 m 與檢視 v 的資料互動。struts 2是struts的下一代產品,是在 struts 1和webwork的技術基礎上進行了合...