【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即上传成功,使用蚁剑进行连接

连接成功


浙公网安备 33010602011771号