Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现

 一、     漏洞简介

漏洞编号和级别

CVE编号:CVE-2019-0232,危险级别:高危,CVSS分值:官方未评定。

漏洞概述

Apache Tomcat是美国阿帕奇(Apache)软件基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。

日,Apache官方发布通告称将在最新版本中修复一个远程代码执行漏洞(CVE-2019-0232),由于JRE将命令行参数传递给Windows的方式存在错误,会导致CGI Servlet受到远程执行代码的攻击。

触发该漏洞需要同时满足以下条件:

1. 系统为Windows

2. 启用了CGI Servlet(默认为关闭)

3. 启用了enableCmdLineArguments(Tomcat 9.0.*及官方未来发布版本默认为关闭)

影响范围

Apache Tomcat 9.0.0.M1 to 9.0.17

Apache Tomcat 8.5.0 to 8.5.39

Apache Tomcat 7.0.0 to 7.0.93

二、     漏洞复现

环境介绍

服务端:Windows 10

Apache Tomcat 8.5.39

Java环境  1.8.0_211

漏洞环境搭建

java环境安装

  1. 官网下载jdk安装包

https://www.oracle.com/technetwork/java/javase/downloads/index.html

链接:https://pan.baidu.com/s/1XXOMEGHJUGmSHSKxxRrt3Q

提取码:asc4

、根据提示安装jdk

、安装完后 配置路径,我的电脑->属性->高级系统设置->环境变量  添加jdk和jre路径

、配置成功后如图:

Apache Tomcat安装

  1. 下载地址:(https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.39/

链接:https://pan.baidu.com/s/1XXOMEGHJUGmSHSKxxRrt3Q 提取码:asc4

2.安装成功后,运行startup.bat启动服务

、访问http://localhost:8080,如下图启动成功。

配置Apache Tomcat服务器(修改conf目录配置文件,启用CGI

、打开Tomcat安装目录的\conf\web.xml修改如下配置,在默认情况下配置是注释的。

3、打开Tomcat安装目录的\conf\context.xml修改如下配置,添加privileged="true" 。

4、在\webapps\ROOT\WEB-INF目录新建一个cgi-bin文件夹,创建一个psl.bat的文件,内容如下:

5、至此,此漏洞环境搭建完成

试一试bat文件执行能力

6. 漏洞访问

Poc1:http://127.0.0.1:8080/cgi-bin/psl.bat?c:/windows/system32/netstat.exe

Poc2:http://127.0.0.1:8080/cgi-bin/psl.bat?c:/windows/system32/ipconfig.exe

三、     解决方案

Apache官方还未正式发布以上最新版本,受影响的用户请保持关注,在官方更新后尽快升级进行防护。与此同时,用户可以将CGI Servlet初始化参数enableCmdLineArguments设置为false来进行防护。

在Tomcat安装路径的conf文件夹下,使用编辑器打开web.xml,找到enableCmdLineArguments参数部分,添加如下配置:

重启Tomcat服务,以确保配置生效。

Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现的更多相关文章

  1. 【研究】Tomcat远程代码执行漏洞(CVE-2017-12615)

    一.Tomcat远程代码执行漏洞(CVE-2017-12615) 1.1       实验环境 操作机:windows 10                         IP:192.168.1. ...

  2. Tomcat远程代码执行漏洞(CVE-2017-12615)修复

    一.漏洞介绍 2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,其中就有Tomcat远程代码执行漏洞,当存在漏洞的Tomcat运行在Windwos主机上,且启用了HTTP ...

  3. Apache Kylin远程代码执行漏洞复现(CVE-2020-1956)

    Apache Kylin远程代码执行(CVE-2020-1956) 简介 Apache Kylin 是美国 Apache 软件基金会的一款开源的分布式分析型数据仓库.该产品主要提供 Hadoop/Sp ...

  4. Apache Druid 远程代码执行 CVE-2021-25646 漏洞复现

    Apache Druid 远程代码执行 CVE-2021-25646 漏洞复现 前言 Apache Druid 是用Java编写的面向列的开源分布式数据存储,旨在快速获取大量事件数据,并在数据之上提供 ...

  5. Apache Log4j2远程代码执行漏洞攻击,华为云安全支持检测拦截

    近日,华为云安全团队关注到Apache Log4j2 的远程代码执行最新漏洞.Apache Log4j2是一款业界广泛使用的基于Java的日志工具,该组件使用范围广泛,利用门槛低,漏洞危害极大.华为云 ...

  6. Apache log4j2 远程代码执行漏洞复现👻

    Apache log4j2 远程代码执行漏洞复现 最近爆出的一个Apache log4j2的远程代码执行漏洞听说危害程度极大哈,我想着也来找一下环境看看试一下.找了一会环境还真找到一个. 漏洞原理: ...

  7. Apache Log4j 远程代码执行漏洞源码级分析

    漏洞的前因后果 漏洞描述 漏洞评级 影响版本 安全建议 本地复现漏洞 本地打印 JVM 基础信息 本地获取服务器的打印信息 log4j 漏洞源码分析 扩展:JNDI 危害是什么? GitHub 项目 ...

  8. Apache Tomcat远程命令执行漏洞(CVE-2017-12615) 漏洞利用到入侵检测

    本文作者:i春秋作家——Anythin9 1.漏洞简介 当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 fals ...

  9. Apache Struts 远程代码执行漏洞(CVE-2013-4316)

    漏洞版本: Apache Group Struts < 2.3.15.2 漏洞描述: BUGTRAQ ID: 62587 CVE(CAN) ID: CVE-2013-4316 Struts2 是 ...

随机推荐

  1. Java中的static(1)【持续更新】——关于Eclipse的No enclosing instance of type ... 错误的理解和改正

    No enclosing instance of type SomeClass is accessible. Must qualify the allocation with an enclosing ...

  2. 定期从Docker上部署的MySQL备份数据

    前段时间公司停电,正巧赶上周一领导要开会要过一遍项目,然而项目所依赖的MySQL数据库是直接部署在宿主机,且因为各人部署方式不同的原因,花了很久才在开会前启动起来.于是开完会后,我第一件事就是把原先依 ...

  3. C# 读取控制台的Console.Write

    一个程序去调用另一个xxx.exe的时候,需要记录下这个exe里面的console.write的输出 public static string InvokeExcute(string Command) ...

  4. Delphi Tips

    Delphi Tips 函数篇 语法篇 函数篇 StrToDate() function StrToDate(const S: string): TDateTime; function StrToDa ...

  5. 可能是国内第一篇全面解读 Java 现状及趋势的文章

    作者 | 张晓楠 Dragonwell JDK 最新版本 8.1.1-GA 发布,包括全新特性和更新! 导读:InfoQ 发布<2019 中国 Java 发展趋势报告>,反映 Java 在 ...

  6. JDK1.7中HashMap死环问题及JDK1.8中对HashMap的优化源码详解

    一.JDK1.7中HashMap扩容死锁问题 我们首先来看一下JDK1.7中put方法的源码 我们打开addEntry方法如下,它会判断数组当前容量是否已经超过的阈值,例如假设当前的数组容量是16,加 ...

  7. 【TencentOS tiny】 超详细的TencentOS tiny移植到STM32F103全教程

    移植前的准备工作 1. 获取STM32的裸机工程模板 STM32的裸机工程模板直接使用野火STM32开发板配套的固件库例程即可.可以从我github上获取https://github.com/jiej ...

  8. Java 的基本程序设计结构

    从Hello Word入手 public class HelloWorld { /* 第一个Java程序 */ public static void main(String[] args) { Sys ...

  9. 子网掩码!如何划分子网掩码,计算IP地址

    作者:chli1806 一.子网掩码的含义和根据子网掩码划分子网一个IP地址必然属于某一个网络,或者叫子网.子网掩码就是用来指定某个IP地址的网络地址的,换一句话说,就是用来划分子网的.例如,一个A类 ...

  10. nishang的介绍与使用

    0x01前言 Nishang是一个PowerShell攻击框架,它是PowerShell攻击脚本和有效载荷的一个集合.Nishang被广泛应用于渗透测试的各个阶段,本文主要介绍如何使用Nishang的 ...