1. 程式人生 > >16.Tomcat弱口令 && 後臺getshell漏洞 12.Weblogic 弱口令 && 後臺getshell漏洞

16.Tomcat弱口令 && 後臺getshell漏洞 12.Weblogic 弱口令 && 後臺getshell漏洞

Tomcat7+ 弱口令 && 後臺getshell漏洞

Tomcat版本:8.0

環境說明

Tomcat支援在後臺部署war檔案,可以直接將webshell部署到web目錄下。其中,欲訪問後臺,需要對應使用者有相應許可權。

Tomcat7+許可權分為:

  • manager(後臺管理)
    • manager-gui 擁有html頁面許可權
    • manager-status 擁有檢視status的許可權
    • manager-script 擁有text介面的許可權,和status許可權
    • manager-jmx 擁有jmx許可權,和status許可權
  • host-manager(虛擬主機管理)
    • admin-gui 擁有html頁面許可權
    • admin-script 擁有text介面許可權

這些許可權的究竟有什麼作用,詳情閱讀 http://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html

使用者tomcat擁有上述所有許可權,密碼是tomcat

正常安裝的情況下,tomcat8中預設沒有任何使用者,且manager頁面只允許本地IP訪問。只有管理員手工修改了這些屬性的情況下,才可以進行攻擊。

 

這篇文章其實跟我上一篇:12.Weblogic 弱口令 && 後臺getshell漏洞

都是一樣的套路,只是tomcat中介軟體使用較多,所以需要拿出來另外復現

上篇文章有的小白問為什麼需要上傳war包,為什麼不是tar.zip一類的,這裡做一個說明:

war包是用來進行Web開發時一個網站專案下的所有程式碼,包括前臺HTML/CSS/JS程式碼,以及後臺JavaWeb的程式碼。

當開發人員開發完畢時,就會將原始碼打包給測試人員測試,測試完後若要釋出則也會打包成War包進行釋出。War包

可以放在Tomcat下的webapps或word目錄,當Tomcat伺服器啟動時,War包即會隨之解壓原始碼來進行自動部署。

我們依舊使用docker搭建漏洞靶場環境,一般來說tomcat預設應該是在8080埠,

開啟tomcat管理頁面 http://192.168.0.132:8080/manager/html,就是我們正常訪問tomcat頁面:

輸入弱密碼 tomcat:tomcat,即可訪問後臺:

先將jsp大馬壓縮為zip,再將zip字尾改名為war,然後上傳war包:

點選上傳:

 

可以發現我們已經上傳成功!

我們嘗試訪問:http://192.168.0.132:8080/bmjoker/bmjoker.jsp

成功訪問我們上傳的jsp大馬!

 

修復方案:

1、在系統上以低許可權執行Tomcat應用程式。建立一個專門的 Tomcat服務使用者,該使用者只能擁有一組最小許可權(例如不允許遠端登入)。

2、增加對於本地和基於證書的身份驗證,部署賬戶鎖定機制(對於集中式認證,目錄服務也要做相應配置)。在CATALINA_HOME/conf/web.xml檔案設定鎖定機制和時間超時限制。

3、以及針對manager-gui/manager-status/manager-script等目錄頁面設定最小許可權訪問限制。