专栏首页黑白安全CVE-2019-0232 远程代码执行漏洞-复现

CVE-2019-0232 远程代码执行漏洞-复现

漏洞简介:

该漏洞是由于Tomcat CGI将命令行参数传递给Windows程序的方式存在错误,使得CGIServlet被命令注入影响。

该漏洞只影响Windows平台,要求启用了CGIServlet和enableCmdLineArguments参数。但是CGIServlet和enableCmdLineArguments参数默认情况下都不启用。

漏洞影响范围:

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

环境:

VMware 虚拟机 windows 7

JDK 1.8.0_73

Apache tomcat 9.0.13

开始

  1. 首先安装JDK(这里我安装的是JDK 1.8.0_73)然后配置环境变量

新建变量名为JAVA_HOME的变量变量值为你安装jdk的路径

例:变量名:JAVA_HOME变量值:C:Program Files (x86)Javajdk1.8.0_73

新建变量名为JRE_HOME的变量变量值为你安装jdk文件夹中jre文件夹的路径

例:变量名JRE_HOME变量值: C:Program Files (x86)Javajdk1.8.0_73jre

新建变量名为CLASSPATH的变量变量值为.

;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar(ps:前面有个点)

在变量path新增变量值为;%JAVA_HOME%bin;%JAVA_HOME%jrebin(ps:前面有;)

配好变量后打开cmd命令框输入java –version出现java版本号等信息则说明变量安装成功。

如图:

2.安装tomcat 这里我用的是 apache - tomcat - 19.0.3

https://archive.apache.org/dist/tomcat/ 该链接为tomcat各个版本下载链接

安装完成之后,cmd 启动 tomcat

打开浏览器访问正常,说明tomcat安装完毕。

3.修改配置文件

(1)apache-tomcat-9.0.13confweb.xml 该文件

需要取消掉注释的一共是俩部分,并且将下图框中内容插入

(2)conf/context.xml 中的<Context>添加privileged="true"语句 如下图

(3)在C:UserslenovoDesktopapache-tomcat-9.0.13apache-tomcat-9.0.13webappsROOTWEB-INF

下创建一个cgi-bin文件夹,并在文件夹内创建一个bat文件可以什么都不写或者写一些bat语句。

一切准备完成。

3.重启tomacat。

4.利用payload为:

http://localhost:8080/cgi-bin/hello.bat?&C:WindowsSystem32calc.exe

该payload为打开计算器,访问之后成功打开计算器。

复现成功。 

文由微信公众号黑白之道

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • tomcat漏洞利用与防护

    tomcat是apache的一个中间件软件,其可以提供jsp或者php的解析服务,为了方便远程管理与部署,安装完tomcat以后默认会有一个管理页面,管理员只需...

    周俊辉
  • 什么是PHP中的可变变量和预定义变量

    可变变量是指一个变量的变量名可以动态的设置和使用,一个可变变量获取了一个普通变量的指作为其变量名,这个变量就叫做可变变量。

    周俊辉
  • 刚发布就出问题 新 macOS 零日漏洞或导致用户数据泄露

    凤凰网科技讯 据科技博客AppleInsider北京时间9月25日报道,苹果公司今天向全球用户推送了最新macOS Mojave系统。但是,一位安全研究人员称,...

    周俊辉
  • JDK三个环境配置

    注意:JDK13版本及以上已经不用配这么多了,直接在 path 变量里面加个 bin 目录路径就可以了。

    乐心湖
  • java JDK安装教程

    没有CLASSPATH就是  %JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

    杨奉武
  • Java有哪些进阶技术?

    三哥
  • Linux | CentOS7下会玩JDK不?你确定?

    Linux下如何搭建Java环境 软件环境 虚拟机:VMware Workstation 系统:Linux:CentOS-7-x86_64 工具: 安装工具...

    码神联盟
  • 通过shell快速配置J2EE运行环境

      1.部分命令是为了测试命令的使用方式的,删除后不影响shell功能,只是为了做一个记录,请忽略

    肖哥哥
  • MongoDB常用shell命令之index shell

    1、创建索引 db.collectionName.ensureIndex({name:1}); db.collectionName.ensureIndex({...

    小小科
  • 每天一道leetcode443-压缩字符串

    输入: "the sky is blue", 输出: "blue is sky the". 说明:

    乔戈里

扫码关注云+社区

领取腾讯云代金券