漏洞復現
3月7日凌晨,Apache官方發布Struts 2 緊急漏洞公告(S2-045),CVE編號CVE-2017-5638。公告中披露 ,當基于Jakarta插件上傳文件時,可導致遠程代碼執行。例如在系統中獲得管理員權限,執行添加用戶。可任意查看、修改或刪除文件。造成機密數據泄露,重要信息遭到篡改等重大危害。
S2-045漏洞影響的版本有:Struts 2.3.5 - Struts 2.3.31,Struts 2.5 - Struts 2.5.10
S2-045公告
Struts2是一個基于MVC設計模式的Web應用框架,它本質上相當于一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與視圖的數據交互。Struts 2 是世界上最流行的Java Web服務器框架之一。
漏洞描述:
惡意用戶可在上傳文件時通過修改HTTP請求頭中的Content-Type值來觸發該漏洞,進而執行系統命令。
漏洞利用:
公網已經公開利用PoC,本地搭建環境測試,可看到成功執行“ifconfig”命令,如下圖所示:
PoC
友情提示:
Struts 2.3.32和Struts 2.5.10.1版本已修復該漏洞,下載地址:
https://cwiki.apache.org/confluence/display/WW/Version+Notes+2.3.32
https ://cwiki.apache.org/confluence/display/WW/Version+Notes+2.5.10.1