Java安全log4j漏洞前置知识RMI

admin 2022年2月7日23:01:06评论88 views字数 1676阅读5分35秒阅读模式

RMI是什么

RMI远程方法调用,允许运行在一个java虚拟机上的对象调用运行另外一个远程java虚拟机上的对象的方法,

RMI的使用

下面以一个示例进行演示:


hello 代码

import java.rmi.Remote;import java.rmi.RemoteException;public interface Hello extends Remote {    public String welcome(String name) throws RemoteException;}

HelloImpl代码

import java.rmi.RemoteException;import java.rmi.server.UnicastRemoteObject;public class HelloImpl extends UnicastRemoteObject implements Hello{    public HelloImpl() throws RemoteException {    }    public String welcome(String name) throws RemoteException {        return "Hello, " + name;    }}

Server代码(192.168.177.150):

1.本次测试 server代码部分放在(192.168.177.150)  Server的作用开启RMI服务

import java.rmi.RemoteException;import java.rmi.registry.LocateRegistry;import java.rmi.registry.Registry;public class Server {    public Server() {    }
public static void main(String[] args) throws RemoteException { // 创建对象 Hello hello = new HelloImpl(); // 创建注册表 创建rmi映射表 Registry registry = LocateRegistry.createRegistry(10999); //绑定对象到注册表,并给他取名为hello registry.rebind("hello", hello); System.out.println("创建服务端成功!"); }}


Client代码(192.168.177.152)

1.在客户端进行远程调用    

2.尝试调用远程的hello

3.为了方便测试可以放在同一台机器上 (在client代码种把192.168.177.150改为localhost即可)

import java.rmi.NotBoundException;import java.rmi.RemoteException;import java.rmi.registry.LocateRegistry;import java.rmi.registry.Registry;
public class Client { public Client() { }    public static void main(String[] args) throws RemoteException,  NotBoundException { //获取到注册表的代理 要求必须与服务器端对等的Remote子接口保持一致,即有相同的接口名称、包路径和方法列表等 Registry registry = LocateRegistry.getRegistry("192.168.177.150", 10999); // 利用注册表的代理去查询远程注册表中名为hello的对象 Hello hello = (Hello)registry.lookup("hello"); // 调用远程方法 System.out.println(hello.welcome("tridentj")); }}

源码下载

链接:https://pan.baidu.com/s/1b1F2OsqqwPmsyKmt-bF3RA 提取码:1234

视频演示


原文始发于微信公众号(安全帮Live):Java安全log4j漏洞前置知识RMI

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月7日23:01:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Java安全log4j漏洞前置知识RMIhttps://cn-sec.com/archives/767517.html

发表评论

匿名网友 填写信息