使用污点分析检查log4j问题
摘要:log4j问题的余波还在继续,为什么这个问题潜伏了这么长时间,大家一直没有发现?这里从静态分析的角度谈下log4j问题的发现。
本文分享自华为云社区《使用污点分析检查log4j问题》,作者: Uncle_Tom。
1. JNDI注入
这次log4j的问题主要是由于JNDI问题造成的,先介绍下JNDI。
1.1. JNDI
JNDI是接口服务 Java Naming and Directory Interface(JNDI) 是一个应用程序编程接口 (API),它为使用 Java编程语言编写的应用程序提供命名和目录功能。各种目录服务都可以以一种通用的、统一的接口方式访问。JNDI架构 JNDI 架构由 API 和服务提供者接口 (service provider interface(SPI))组成。 Java 应用程序使用 JNDI API 来访问各种命名和目录服务。 SPI 可以透明地插入各种命名和目录服务,从而允许使用 JNDI API 的 Java 应用程序访问它们的服务。见下图:
JNDI提供的服务 JNDI
共有 0 条评论