如何修復Apache axis組件遠程命令執行漏洞

如何修復Apache axis組件遠程命令執行漏洞

近日,深信服發現apache axis 組件遠程命令執行漏洞利用方式。該漏洞本質是由于管理員對adminservice配置錯誤,當enableremoteadmin屬性設置為true時,攻擊者可以遠程利用adminservice接口自行發布構造的webservice,再次訪問生成的webservice接口時,就可以觸發內部引用的類進行遠程命令執行漏洞的利用。

axis 組件介紹

axis 全稱apache EXtensible Interaction System 即Apache可擴展交互系統。axis 為創建服務器端、客戶端和網關SOAP等操作提供基本框架。axis 目前版本主要面向Java,面向C++的版本正在開發中。axis 并不完全是一個SOAP引擎,還可以作為一個獨立的SOAP服務器和一個嵌入Servlet引擎(例如Tomcat)的服務器。

漏洞分析

漏洞本質是管理員對AdminService的配置錯誤。當enableRemoteAdmin屬性設置為true時,攻擊者可以構造WebService調用freemarker組件中的template.utility.Execute類,遠程利用AdminService接口進行WebService發布,再次訪問生成的WebService接口,傳入要執行的命令,就可以進行遠程命令執行漏洞的利用。

漏洞復現

搭建axis 1.4+tomcat6的環境,將AdminService配置中的enableRemoteAdmin屬性設置為true。

傳入構造好的數據進行WebService發布,如下圖:

如何修復Apache axis組件遠程命令執行漏洞

再調用WebService接口傳入命令并執行,如下圖:

如何修復Apache axis組件遠程命令執行漏洞

修復建議

1、配置 URL 訪問控制策略:部署于公網的 axis ?服務器,可通過 ACL 禁止對/services/AdminService 及 /services/FreeMarkerService 路徑的訪問。

2、禁用 axis ?遠程管理功能:axis

想了解更多關于web安全的知識,請訪問:web服務器安全

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享