漏洞复现 - Tomcat任意文件上传漏洞(CVE-2017-12615)
2023-02-18 16:42:05 时间
漏洞原理
Tomcat配置文件web.xml中,servlet配置了readonly=fasle时,会引发任意文件上传漏洞。
readonly参数默认是true,即不允许delete和put操作,所以通过XMLHttpRequest对象的put或者delete方法访问就会报告http 403错误。但很多时候为了支持REST服务,会设置该属性为false。
复现环境
在ubuntu 16.04虚拟机中用vulhub靶场提供的docker容易来复现
jdk版本1.7
Tomcat版本8.5.19
复现过程
1. 进入vulhub目录:tomcat/CVE-2017-12615
2.启动docker容器,tomcat页面正常访问:
进入容器查看一下web.xml的readonly配置:
3. 抓包,尝试上传jsp木马,没成功,不能直接传jsp文件
4.绕过以下,再次上传(其他类型的文件也可以上传的,传jsp文件是方便执行jsp中的代码):
5.进入docker容器内部查看上传文件:
6.访问该文件,执行成功:
防御实验
将readonly参数改为false,在发一次PUT请求:
本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。
相关文章
- PBN飞越转弯Flyover衔接TF、CF航段保护区组图
- PBN旁切转弯保护区组图
- 等待模板的算法分析
- JetBrains Rider for mac(跨平台.NET IDE集成开发) v2022.3.1激活版
- 交互周期表:网络中心度(Network Centrality)
- ECCV2022 | PCLossNet:不进行匹配的点云重建网络
- Redis
- SQLSERVER 的复合索引和包含索引到底有啥区别?
- SQLSERVER 的主键索引真的是物理有序吗?
- SQLSERVER 居然也能调 C# 代码 ?
- 再聊一下那 SQLSERVER 行不能跨页的事
- 聊一聊 SQLSERVER 的行不能跨页
- 一次SQL调优 聊一聊 SQLSERVER 数据页
- 记一次 .NET 某安全生产信息系统 CPU爆高分析
- 记一次 .NET 某工控MES程序 崩溃分析
- 玩好.NET高级调试,你也要会写点汇编
- 记一次 .NET 某工控软件 内存泄露分析
- 记一次 .NET 某电子厂OA系统 非托管内存泄露分析
- 聊一聊如何截获 C# 程序产生的日志
- .NET 7 的 AOT 到底能不能扛反编译?