JNDI注入攻击:java name directory interface:提供通用的接口去调用不同的服务。
SPI机制:server provider interface。
黑客搭建NS服务器,然后发送指令给服务器。
服务器会请求黑客的机器,黑客的机器指令会执行别的请求。
存在风险的core包,进行递归的解析和lookup查找,本身log4j也解耦了,还有api包。
lookup有很多实现类,有一个jndi的方式。
ladp:Lightweight Directory Access Protocol 轻量级目录访问协议
升级的话,主要做了三点:
- 默认不再支持二级跳转,也就是命名引用的方式获取对象;
- 只有站在log4j2.allowedclass中的指定的对象才能获取;
- 只有远程地址是本地地址或者在log4j2.allowedHost中的地址才能获取。
备注:
- idea可以看maven依赖路径图,
- es 中也有,排掉,升级了。