tomcat是一個開源Web服務器,基于Tomcat的Web運行效率高,可以在一般的硬件平臺上流暢運行,因此,頗受Web站長的青睞。不過,在默認配置下其存在一定的安全隱患,可被惡意攻擊。
Win2003
Tomcat6.0.18 安裝版
首先在win2003上部署Tomcat,一切保持默認。
Tomcat的默認后臺地址為:http://域名:端口/manager/html.進入之后彈出登陸對話框,Tomcat默認的用戶名admin,密碼為空。
Tomcat的一些弱口令:
tomcat tomcat
admin 空
admin admin
admin 123456

然后來看一下Tomcat安裝版默認的tomacat-users.xml配置文件

注:Linux平臺及Windows平臺免安裝版本不受該漏洞影響。
在Tomcat的后臺有個WAR file to deploy模塊,通過其可以上傳WAR文件。Tomcat可以解析WAR文件,能夠將其解壓并生成web文件。

我們將一個jsp格式的webshell用WinRar打包然后將其后綴改名為WAR(本例為no.war),這樣;一個WAR包就生成了。最后將其上傳到服務器,可以看到在Tomcat的后臺中多了一個名為/no的目錄。

點擊該目錄打開該目錄jsp木馬就運行了,這樣就獲得了一個Webshell。

Tomcat服務默認是以system權限運行的,因此該jsp木馬就繼承了其權限,幾乎可以對Web服務器進行所有的操作。

然后創建用戶: net user Boom shellcode /add
添加到管理員用戶組: net localgroup administrators Boom /add

然后可以干什么事我就不說了
修改\conf\tomacat-users.xml

刪除Tomcat后臺 \webapps全部刪除就好。
在IIS中如果設置不當,就會列出Web當前目錄中的所有文件,然而在Tomcat也不例外。如果瀏覽者可以在客戶端瀏覽Web目錄,那將會存在較大的安全隱患,因此我們要確認Tomcat的設置中禁止列目錄。\conf\web.xml下
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
確認是false而不是true。

默認安裝時Tomcat是以系統服務權限運行的,因此缺省情況下幾乎所有的Web服務器的管理員都具有Administrator權限,存在極大的安全隱患,所以我們的安全設置首先從Tomcat服務降權開始。
首先創建一個普通用戶,為其設置密碼,將其密碼策略設置為“密碼永不過期”,比如我們創建的用戶為tomcat。然后修改tomcat安裝文件夾的訪問權限,為tomcat賦予Tomcat文件夾的讀、寫、執行的訪問權限,賦予Tomcat對WebApps文件夾的只讀訪問權限,如果某些Web應用程序需要寫訪問權限,單獨為其授予對那個文件夾的寫訪問權限。

“開始→運行”,輸入services.msc打開服務管理器,找到Apache Tomcat服務,雙擊打開該服務的屬性,在其實屬性窗口中點擊“登錄”選項卡,在登錄身份下選中“以此帳戶”,然后在文本框中輸入tomcat和密碼,最后“確定”并重啟服務器。這樣tomcat就以tomcat這個普通用戶的權限運行。

然后重啟服務,就生效了。這樣普通用戶tomcat運行的Tomcat其權限就大大地降低了,就算是攻擊者獲得了Webshell也不能進一步深入,從而威脅web服務器的安全。
關閉war自動部署 unpackWARs="false" autoDeploy="false"。防止被植入木馬等惡意程序
應用程序部署與tomcat啟動,不能使用同一個用戶。
