0xW1LD/CVE-2026-29000

GitHub: 0xW1LD/CVE-2026-29000

一个Rust编写的CVE-2026-29000漏洞利用工具,通过JWE包装无签名JWT实现pac4j-jwt身份验证绕过。

Stars: 0 | Forks: 0

# CVE-2026-29000 漏洞利用生成器 (Rust) 本仓库包含一个专门的 Rust 实现,用于利用 CVE-2026-29000,这是 pac4j-jwt 中的一个身份验证绕过漏洞。该漏洞源于当 PlainJWT (alg: none) 嵌套在加密的 JWE 容器中时出现的“签名验证跳过”。 ## 功能 自动获取 JWKS:直接从 /api/auth/jwks 端点获取目标的公共 RSA 密钥。 构造非安全 JWS:使用管理声明 (ROLE_ADMIN) 构造一个 None 算法的 JWT。 JWE 包装器:使用 RSA-OAEP-256 和 A128GCM 封装恶意的内部 token,以绕过初始的边界过滤。 异步执行:由 tokio 和 reqwest 提供支持,实现高效的网络通信。 ## 快速入门 ### 前置条件 - 已安装 Rust/Cargo。 - 网络可以访问目标(默认:http://principal.htb:8080)。 安装 克隆此仓库: ``` git clone https://github.com/0xW1LD/CVE-2026-29000.git cd CVE-2026-29000 ``` ## 用法 运行漏洞利用生成器以输出伪造的 JWE: ``` cargo run ``` ## 漏洞机制 该漏洞利用针对的是一个逻辑缺陷,即库会解密外部的 JWE,但如果头部指定了 alg: none,则无法递归验证内部 JWS 的签名。 内层:一个包含 admin 主体且 alg 为 None 的 JWT。 外层:内部 JWT 使用服务器自身的公钥进行加密。 结果:服务器解密该 token,发现其被正确加密,从而在没有检查签名的情况下信任了内部的 payload。 ## 免责声明 本工具仅用于教育目的和授权的安全测试(CTF/实验环境)。未经授权访问计算机系统是违法行为。
标签:A128GCM, CISA项目, CSV导出, CTF工具, CVE-2026-29000, HackTheBox, JWE加密, JWS伪造, JWT安全, pac4j-jwt, PoC, RSA-OAEP-256, Rust语言, Tokio, 协议分析, 可视化界面, 安全测试, 异步编程, 攻击性安全, 数字取证, 暴力破解, 权限提升, 漏洞搜索, 签名验证绕过, 网络安全, 自动化脚本, 越权访问, 身份验证绕过, 通知系统, 隐私保护