JNDI注入-RMI和Reference

JNDI与RMI注入攻击详解

参考博客:

JNDI注入与动态类加载

JNDI

Java命名和接口目录为用Java编程语言编写的应用程序提供命名和目录功能。

可以通过一种通用方式访问各种服务,类似通过名字查找对象的功能,和RMI有点类似。

原生JNDI支持RMI,LDAP,COS,DNS.

JNDI+RMI

JNDI结合RMI使用

RMIServer.java

package org.example;

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class RMIServer {
   
   
    public static void main(String[] args) throws Exception {
   
   
        RemoteObjImpl remoteObj = new RemoteObjImpl();
        Registry registry = LocateRegistry.createRegistry(1099);
        registry.bind("remoteObj",remoteObj);
    }
}

JNDIRMIServer.java

public class JNDIRMIServer {
   
   
    public static void main(String[] args) throws Exception {
   
   
        InitialContext initialContext = new InitialContext();
        initialContext.rebind("rmi://localhost:1099/remoteObj", new RemoteObjImpl());
    }
}

JNDIRMIClient.java

public class JNDIRMIClient {
   
   
    public static void main(String[] args) throws Exception {
   
   
        InitialContext initialContext = new 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值