组件漏洞 - Log4j2反序列化

  log4j是开源的日志记录框架,用于记录程序输入输出日志信息,log4j2中存在JNDI注入漏洞,当程序记录用户输入的数据时,即可触发该漏洞,成功利用该漏洞可在目标服务器上执行任意代码。

漏洞场景

tips
漏洞原理:
  log4j2在日志输出中,一旦在log字符串中检测到${},就会调用lookup查询尝试解析其中的字符串,如果未对字符合法性进行严格的限制,攻击者构造恶意的URL地址让其解析,利用 JNDI协议加载的远程恶意脚本,从而造成RCE。
安全编码规范:
升级方案:升级Log4j至2.15.0及以上稳定版本
临时缓解:修改配置文件log4j2.component.propertieslog4j2.formatMsgNoLookups=True

缺陷代码