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
啟動,不能使用同一個用戶。