怎样才能知道我使用的Log4J是什么版本?
我们都知道,类路径中至少有四五个Log4jJAR文件。如何知道我使用的是哪个版本?
Log4j
我在了解到我的服务器可能易受新的推荐答案漏洞攻击后来到这里(CVE-2021-44228)。因此,我需要知道我是否安装了过时/易受攻击的Log4j版本2。
此处前面的回答无助于检测旧版本,因为它们用于让已在运行的Java代码确定该代码使用的是哪个版本的Log4j,而我需要知道是否有任何Java应用程序可能正在使用易受攻击的版本。
以下是我改为执行的操作:
sudo find / -name 'log4j*'
这将列出我的(Linux)服务器上所有与Log4j相关的文件。这向我展示了几个1.x版本,它们不容易受到这个特定CVE的攻击,还有一个2.15.0文件,它已经包含了对CVE的修复。
如果您运行此程序时发现文件名或文件夹名为2.x(其中x<;15),则您很可能易受攻击,需要找出如何尽快更新您的文件。
注意
我收到警告,这不足以作为我的测试,因为Log4j文件可能隐藏在.jar文件中,而find
命令无法发现该文件。
更新
这里有一个公共项目,它尝试扫描所有.jar文件,以便在归档中也找到Log4j代码:Log4-detector
相关文章