背景
Apache Tomcat是由Apache軟件基金會下Jakarta項目開發的Servlet容器。在默認情況下,Apache Tomcat會開啟AJP連接器,便于與其他Web服務器通過AJP協議進行數據傳輸。
由于Apache Tomcat AJP協議的缺陷,攻擊者可以通過Tomcat AJP Connector讀取含Apache Tomcat在內其下所有webapp目錄下的任何文件,因此攻擊者可以讀取webapp配置文件或源代碼。如果目標應用支持文件上傳功能,攻擊者可以向服務端上傳含有惡意JSP腳本代碼的文件,然后利用漏洞進行文件包含,從而達到遠程代碼執行獲取服務器權限等攻擊目的。在未對外網開啟AJP服務的情況下,不受漏洞影響(Tomcat默認開啟AJP服務并將其綁定至0.0.0.0),由于SAE應用實例部署在VPC網絡內部,所以如應用實例的8009端口對外不可訪問,則可以認為受AJP漏洞攻擊的風險較低。
影響范圍
- 在SAE中使用WAR包方式進行應用部署的客戶。
- 在SAE中使用鏡像方式部署的且Tomcat Server.xml配置文件中開啟了Tomcat AJP Connector的客戶。
解決方案
- 在SAE中使用WAR包方式部署的客戶,請通過Console或API方式重新部署應用即可。
- 在SAE中使用鏡像方式部署的客戶,請使用注釋掉Tomcat AJP Connector的Tomcat版本重新制作鏡像并重新部署。
驗證方法
通過WebShell登錄容器,找到相應的tomcat conf目錄,查看server.xml文件內是否存在<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
配置。
- 如果不存在,表示該漏洞修補成功。
- 如果存在,修補該漏洞。具體操作,請參見解決方案。
文檔內容是否對您有幫助?