本文作者:i春秋作家——Anythin9

1.漏洞简介

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

影响范围

Apache Tomcat 7.0.0 – 7.0.81

2.漏洞分析2.1环境介绍服务端 Windows7   IP: 192.168.116.128

攻击端 Kali Linux  IP:192.168.116.137

Apache Tomcat 7.0.79

2.2.  实验环境搭建

2.2.1 java环境安装

1.官网下载jdk安装包http://www.oracle.com/technetwork/java/javase/downloads/index.html

2.根据提示安装jdk

3.配置路径,我的电脑->属性->高级系统设置->环境变量->ath 添加jdk和jre路径

4.配置成功后如图:

2.2.2 Apache Tomcat安装1.下载地址:

http://www.liangchan.net/soft/download.asp?softid=9366&downid=8&id=9430

2.按照步骤提示,安装

3.安装成功后,访问http://127.0.0.1:8080

2.2.3 配置Apache Tomcat服务器1.打开Tomcat安装目录的Tomcat7.0\conf\web.xml添加如下配置,在Tomcat7.0版本下默认配置是开启readonly的,需要手动配置readonly为false才可以进行漏洞利用

2.3 漏洞利用

2.3.1 远程命令执行漏洞利用

1.利用PUT方法上传构造好的shell

查看服务器上已经存在test.jsp

在构造上传方法时有三种

PUT /test.jsp%20

PUT /test.jsp/

通过构造特殊的后缀来绕过,Tomcat的检测,将jsp的shell上传到服务器中。

2.利用上传的shell来进行命令执行

攻击成功。

2.3.2 漏洞主要攻击特征

1.攻击方法 PUT

2.主要攻击方法 .jsp:DATA .jsp%20 .jsp/

3.入侵检测规则编写

3.1 CVE-2017-12615漏洞入侵检测规则

alert tcp any any -> any any (msg:”
CVE-2017-12615″;flow:to_server,established;content:”UT”;nocase;content:”.jsp/”;nocase;reference:cve,2017-12615;sid:2000015;rev:1;)

alert tcp any any -> any any
(msg:”CVE-2017-12615″;flow:to_server,established;content:”UT”;nocase;content:”.jsp:DATA”;nocase;reference:cve,2017-12615;sid:2000015;rev:1;)

alert tcp any any -> any any
(msg:”CVE-2017-12615″;flow:to_server,established;content:”UT”;nocase;content:”.jsp%20″;nocase;reference:cve,2017-12615;sid:2000015;rev:1;)

4. 入侵检测效果验证

4.1 CVE-2017-12615漏洞入侵检测验证

回放包cve-2017-12615.tcap

>>>>>>黑客入门必备技能   带你入坑和逗比表哥们一起聊聊黑客的事儿他们说高精尖的技术比农药都好玩

Apache Tomcat远程命令执行漏洞(CVE-2017-12615) 漏洞利用到入侵检测的更多相关文章

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

    Apache Tomcat 远程代码执行漏洞(CVE-2019-0232)漏洞复现  一.     漏洞简介 漏洞编号和级别 CVE编号:CVE-2019-0232,危险级别:高危,CVSS分值:官方 ...

  2. Apache struts2远程命令执行_CVE-2017-9805(S2-052)漏洞复现

    Apache struts2远程命令执行_CVE-2017-9805(S2-052)漏洞复现 一.漏洞概述 Apache Struts2的REST插件存在远程代码执行的高危漏洞,Struts2 RES ...

  3. Apache SSI 远程命令执行漏洞复现

    Apache SSI 远程命令执行漏洞复现 一.漏洞描述 当目标服务器开启了SSI与CGI支持,我们就可以上传shtml,利用<!--#exec cmd=”id” -->语法执行命令. 使 ...

  4. [CVE-2020-1956] Apache Kylin远程命令执行漏洞复现

    Apache Kylin是一个开源的.分布式的分析型数据仓库,提供Hadoop/Spark之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并贡献至开源社区. ...

  5. tomcat 远程命令执行漏洞复现

    影响范围 Apache Tomcat 7.0.0 - 7.0.81 不受影响的版本 Apache Tomcat 8.x Apache Tomcat 9.x 漏洞分析 在Tomcat安装目录下的配置文件 ...

  6. Apache Solr远程命令执行

    简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http G ...

  7. Apache Solr远程命令执行复现

    环境 /vulhub/solr/CVE-2019-0193/ 创建一个集合 docker-compose exec solr bash bin/solr create_core -c test -d ...

  8. CVE-2019-0193:Apache Solr 远程命令执行漏洞复现

    0x00 漏洞背景 2019年8月1日,Apache Solr官方发布了CVE-2019-0193漏洞预警,漏洞危害评级为严重 0x01 影响范围 Apache Solr < 8.2.0 0x0 ...

  9. CVE-2021-25646:Apache Druid远程命令执行漏洞复现

    漏洞概述 Apache Druid 是一个分布式的数据处理系统.Apache Druid包括执行用户提供的JavaScript的功能嵌入在各种类型请求中的代码.在Druid 0.20.0及更低版本中, ...

随机推荐

  1. glog日志

    google 开源日志库 #include <glog/logging.h> yum install glog

  2. jQuery 用$.param(json) 将 Json 转换为 Url queryString

    如: var params = { param1: 'bar', param2: 'foo' }; var queryString = $.param(params); // queryString ...

  3. Java 中>>和>>>的区别

    Java 中>>和>>>的区别 Java中的位运算符: >>表示右移,如果该数为正,则高位补0,若为负数,则高位补1: >>>表示无符号右移 ...

  4. JavaScript修改注册表

    JavaScript修改注册表 2009-04-14 11:22:13|  分类: JS相关 |  标签: |字号大中小 订阅     注册表有关安全设置项的说明: 注册表路径: HKEY_CURRE ...

  5. EnrichPipeline文档

    https://sourceforge.net/projects/enrichmentpipeline/

  6. pyspider示例代码四:搜索引擎爬取

    搜索引擎爬取 #!/usr/bin/env python # -*- encoding: utf- -*- # Created on -- :: # Project: __git_lab_fix fr ...

  7. 如何查看路由器的mac和计算机的mac

    如何查看路由器的mac和计算机的mac 一.查看路由器的mac 方法一: 直接看路由器的背面,如下图,即可看到MAC地址   打开命令提示符窗口,输入ipconfig,找到网关地址,如192.168. ...

  8. IntelliJ IDEA 2017版 开发SpringBoot的全局配置文件使用

    一.全局配置文件 描述:     Spring Boot项目使用一个全局的配置文件application.properties或者是application.yml,在resources目录下或者类路径 ...

  9. redis只加载AOF文件

    如果同时配置写AOF和RDB两种文件,但在redis启动时,只会加载AOF,除非配置只写RDB,才会加载RDB文件,也因此AOF文件必须是全量数据,所以会越来越大,这缺点也将是redis优化的一个方向 ...

  10. PAT甲 1011. World Cup Betting (20) 2016-09-09 23:06 18人阅读 评论(0) 收藏

    1011. World Cup Betting (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Wit ...