1、使用logj2的低版本记录日志时,如果使用如下方式,则输出:
这是log4j2的一个lookup功能。
2、先用浏览器打开 http://dnslog.cn/ 这个网址,如下图
3、调整代码,执行后,点击刷新 Refresh Record,发现ip获取到了。
4、分析:
1、jdk提供的jndi功能,在log4j2的插件中,jndiLookup是其中之一,直接使用不多,但是在记录log时,都会去校验一下是否执行lookup逻辑,从而获取配置,因此如果远程服务器上有个程序,这样记录日志会执行下载,并执行。如果是恶意代码就完了。
5、解决方法:
1、通过jvm参数调整,
2、升级2.17.0版本。