抽厉 发表于 2025-6-1 21:35:28

【vulhub】tomcat CVE-2017-12615(任意写入文件)

渗透环境

攻击机:    192.168.66.130(Kali)
漏洞收录于:vulhub/tomcat/CVE-2017-12615
涉及知识点:tomcat任意文件写入
漏洞详情

当 Tomcat 运行在 Windows 系统且启用了 HTTP PUT 方法(通过将 readonly 参数设置为 false)时,攻击者可构造恶意请求上传 JSP 文件,导致服务器执行任意代码,进而引发数据泄露或服务器权限被控制。
关键点:

[*]触发条件:需手动修改 conf/web.xml 文件中的 readonly 参数为 false(默认值为 true,PUT/DELETE 方法被禁用)。
[*]绕过限制:Tomcat 默认通过 JspServlet 处理 .jsp 文件的上传,但攻击者可通过以下方式绕过限制,使文件由处理静态资源的 DefaultServlet 处理:

[*]文件名后添加空格(evil.jsp%20,利用 Windows 不允许文件名以空格结尾的特性)。
[*]使用 NTFS 文件流特性(evil.jsp::$DATA)。
[*]文件名后添加斜杠(evil.jsp/,此方法甚至影响 Linux 系统及 Tomcat 5.x-9.x 版本)4711。

影响范围:

[*]受影响的 Tomcat 版本:

[*]Apache Tomcat 7.0.0 至 7.0.81(官方公告范围)。
[*]部分测试显示 Tomcat 8.5.19 等版本也可能受影响。

[*]操作系统:主要针对 Windows,但通过添加斜杠的绕过方式(evil.jsp/)可扩展至 Linux 系统。
攻击思路:
​        上传木马文件,webshell管理工具进行连接
复现漏洞

vulhub启动漏洞环境
docker-compose up -d
可以看到该容器运行在8080端口。
访问8080端口,burpsuite抓包

使用webshell generate快速生成木马,项目地址:cseroad/Webshell_Generate: 用于生成各类免杀webshell

将生成的木马上传。这里使用PUT方法进行上传,文件名可以是/xxx.jsp/、/xxx.jsp%20、/xxx::$DATA

返回201即上传成功,使用蚁剑进行连接

连接成功


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 【vulhub】tomcat CVE-2017-12615(任意写入文件)