Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2021-44228_scanner — 用于扫描可能受CVE-2021-44228影响的Jar文件的工具 | Kitploit
工具/GitHubGitHub/certcc/cve-2021-44228_scanner
静态分析漏洞扫描器漏洞分析代码分析供应链安全事件响应Archived
GitHubcertcc/cve-2021-44228_scanner

CVE-2021-44228_scanner

用于扫描可能受CVE-2021-44228影响的Jar文件的工具

查看仓库
3508574年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-44228_scanner

通过扫描 jar、war 和 ear 文件来搜索 JndiLookup.class 的存在,可能可以检测出受 log4j CVE-2021-44228 问题影响的应用程序。

根据您正在调查的平台,运行 PowerShell 或 Python3 脚本可能更合适。在这两种情况下,可选参数是您希望开始搜索的顶级目录。

任何发现的文件都值得调查,以确定使用它的应用程序是否易受攻击。对于存在的任何 JndiLookup.class,log4j 通常会在 jar 文件名中包含版本号。例如,命中 log4j-core-2.14.1.jar 表明应用程序易受攻击。另外,log4j-core-2.16.jar 也可能会产生命中,因为 log4j 2.16 版本中仍然存在 JndiLookup 代码,但默认情况下已禁用。更多详情请参见 VU#930724。

屏幕截图

例如,以下是 PowerShell 版本扫描器的调用: 在 c:\ 上执行 checkjndi.ps1

同样,以下是 Python3 版本的调用: 在 c:\ 上执行 checkjndi.py

最后,以下是 Bash 版本的调用: 在 ~/in 上执行 checkjndi.sh

结果解读

请注意,此脚本的 Bash 和 Python 版本默认会将扫描限制为单个文件系统。 使用 PowerShell 版本,可以将要扫描的位置通过管道传递给脚本,从而控制检查的内容。例如,要扫描文件 paths.txt 中包含的路径列表:

root@kitploit:~
get-content .\paths.txt | .\checkjndi.ps1

让我们看看 Windows 扫描执行中的第一个命中结果:

root@kitploit:~
WARNING: C:\tmp\2.15\log4j-core-2.15.0.jar contains org/apache/logging/log4j/core/lookup/JndiLookup.class

根据 jar 文件名,这是来自 log4j 2.15 的库。虽然此 log4j 版本修复了 CVE-2021-44228,但它仍然存在一个缺陷,即 CVE-2021-45046。CVE-2021-45046 的影响仅对某些使用 log4j 2.15 的 Java 应用程序造成拒绝服务。对于使用 log4j 版本低于 2.15 且同时满足 CVE-2021-45046 先决条件的 Java 应用程序,影响是远程代码执行(RCE)。

让我们看看第二个命中结果:

root@kitploit:~
C:\tmp\2.16\log4j-core-2.16.0.jar contains org/apache/logging/log4j/core/lookup/JndiLookup.class ** BUT APPEARS TO BE PATCHED **

此 jar 文件包含 log4j 2.16 版本,该版本不易受 CVE-2021-44228 攻击。此结果仅供参考,表明供应商已修补其产品。

让我们看看第三个命中结果:

root@kitploit:~
WARNING: C:\tmp\ghidra_10.0_PUBLIC\Ghidra\Framework\Generic\lib\log4j-core-2.12.1.jar contains org/apache/logging/log4j/core/lookup/JndiLookup.class

这里我们可以看到 Ghidra 使用 log4j 版本 2.12.1,因此我们应该认为它易受攻击。确实,Ghidra 10.1 之前的版本易受 CVE-2021-44228 攻击。

您应该调查这些脚本报告的任何命中结果,并确认 log4j 版本确实是修复后的 2.16 版本,或者联系软件供应商获取修复后的软件版本。另外,VU#930724 提供了有关如何从易受攻击的 jar 文件中移除 JndiLookup.class 的信息。

返回的错误

PowerShell 版本的扫描器在无法调查文件或目录时会提供额外的错误报告。特别是,任何报告 UnauthorizedAccessException 的 Unable to scan 错误表明访问目录和/或文件时存在权限问题。任何报告 InvalidDataException 的 Unable to scan 错误通常是由于归档文件损坏导致的。

下载工具