当前位置: 首页 > news >正文

基于Vulhub靶场 | CVE-2017-12615 Tomcat文件上传漏洞

一、漏洞简述

漏洞产生原因:

1、开启PUT请求方法

2、配置不当(非默认配置):将配置文件conf/web.xml中的readonly参数设置为false。

这样将导致可以使用PUT方法上传任意文件(tomcat的安全机制是不允许直接上传.jsp的文件,但是可以绕过上传),可以在用户服务器上执行任意代码,可能会导致用户获取服务器的权限使数据遭到篡改、泄露。

漏洞影响范围:

Apache Tomcat 7.0.0-7.0.81

漏洞修复方法:

1、禁用PUT方法(如果应用依赖PUT方法,可参考下面方法)

2、升级Apache Tomocat版本为7.0.81以上

3、将配置文件conf/web.xml中的readonly参数设置为ture

4、安全防护系统/软件,如WAF等。

漏洞绕过方法:

Linux服务器部署

        /绕过:因为 / 在文件名中是非法的,会被去除【1.jsp/】

Windows服务器部署

        /绕过:因为 / 在文件名中是非法的,会被去除【1.jsp/】

        %20绕过:Windows文件不允许以空格结尾,空格会被自动去掉【1.jsp%20】

        Windows NTFS流绕过:【1.jsp::$DATA】

二、漏洞复现环境

靶场:Linux通过Docker部署的Vulhub(Vulhub靶场文件所在位置:vulhub/tomcat/CVE-2017-12615)

工具:BurpSuite、冰蝎/菜刀/哥斯拉等

三、漏洞复现过程

1、进入靶场目录,启动靶场环境

[root@localhost CVE-2014-0160]# cd /usr/vulhub/tomcat/CVE-2017-12615/

2、查看配置文件conf/web.xml中的readonly参数被设置未false(写入权限),这样设置导致我们可以将文件写入服务器。

[root@localhost ~]# docker exec -ti 【CONTAINER ID】 bash //进入目录

3、 Web界面访问靶场环境【IP:8080】

4 、查看请求方法是GET

5、修改GET未PUT测试上传文件成功

6、查看服务器文件,成功上传1.txt文件

7、测试上传可执行文件.jsp

直接传会报错

1、/绕过

查看服务器,上传成功

2、%20(空格绕过)

查看服务器,上传成功

3、Windows NTFS流绕过

jsp后添加::$DATA

查看服务器,上传成功 

相关文章:

  • resultType与resultMap的区别
  • C++基础:引用,内联函数,auto,类的两种定义方式
  • 【含文档+PPT+源码】基于微信小程序的校园志愿者管理系统的设计与实现
  • CSS3 面试题 超基础 一
  • DAY07 Collection、Iterator、泛型、数据结构
  • Docker 部署 Dify:轻松集成 Ollama 和 DeepSeek
  • HTML应用指南:利用GET请求获取全国乐乐茶门店位置信息
  • 关于 C++ 二叉树的总结汇报
  • 对话智面创始人陶然:一是初心和心态,二是坚持和心力
  • TinyVue自动导入插件重大升级,@opentiny/unplugin-tiny-vue1.0.0版本开启单组件包引入新模式
  • Visual Studio Code的下载安装与汉化
  • 深入解析 Flutter Riverpod:从原理到实战
  • 2024年国赛高教杯数学建模C题农作物的种植策略解题全过程文档及程序
  • 理解三种哈希算法:MD5、CRC、SHA256
  • git:恢复纯版本库
  • Windows的注册表有什么用,Linux怎么没有
  • 深入解析 Flutter GetX
  • 文本操作基础知识:正则表达式
  • AndroidStuidio 指定APK 文件的输出路径和文件名格式
  • 【YOLOv8】
  • 习近平会见智利总统博里奇
  • 反犹、资金与抗议:特朗普的施压如何撕裂美国大学?|907编辑部
  • 哲学新书联合书单|远离苏格拉底
  • 外交部:正确认识和对待历史是检验日本能否恪守和平发展承诺的重要标准
  • 印巴战火LIVE丨“快速接近战争状态”?印度袭击巴军事基地,巴启动反制军事行动
  • 印度一战机在巴基斯坦旁遮普省被击落,飞行员被俘