本文作者: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. git 一些提交等用法

    从服务器上下载项目到em_cesium:git clone ssh://kjwang@code-bj.clustertech.com:29418/em-satdata em_cesium 在本地新建一 ...

  2. hg 添加用户

    .hg目录下hgrc文件 [ui] username = lyd

  3. break MISSING_BLOCK_LABEL_160; 看源代码出现的,源代码是反编译的

    break MISSING_BLOCK_LABEL_160; FileNotFoundException fnfe; fnfe; out.close(); throw fnfe; in.close() ...

  4. cuda使用

    import torchx = torch.randn(2, 3)x = x.cuda() print (x)#最简单的cuda使用,但是感觉好慢啊

  5. part1:3-VMware及redhat enterprise Linux 6 的安装

    创建虚拟机PC FILE->NEW Virtual machine->custom(自定义,定制)->...->I WILL INSTALL THE OS LATER-> ...

  6. 2018.09.24 codeforces 1051F. The Shortest Statement(dijkstra+lca)

    传送门 这真是一道一言难尽的题. 首先比赛的时候居然没想出来正解. 其次赛后调试一直调不出来最后发现是depth传错了. 其实这是一道简单题啊. 对于树边直接lca求距离. 由于非树边最多21条. 因 ...

  7. 2018.08.30 Tyvj1952 Easy(期望dp)

    Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连 ...

  8. MySQL优化Timeout: Pool empty. Unable to fetch a connection in 30 seconds, none available

    //查看所有进程 show processlist; //查询是否锁表 show OPEN TABLES where In_use > 0; //查看被锁住的 SELECT * FROM INF ...

  9. 浮点数转byte数组

    ; float b=34.56745f; float c=0.0; ,,,}; byte* t=fbs; float2Bytes(t,b); unsigned int addrF=(unsigned ...

  10. 手机PC文件传输

    QQ啥的现在直接无法全部退出,很纠结后台运行,时不时的来条消息,明明电脑QQ还开着,越来越流氓了. 服务端代码: <%@ Page Language="C#" %> & ...