Struts2 S2 020補丁繞過漏洞

2021-06-24 11:55:44 字數 846 閱讀 7834

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的技術基礎上進行了合...