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

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

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

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

工具目录

分类

查看所有分类
Loading categories
local-log4j-vuln-scanner — [Moved to Codeberg] 用于检测易受攻击的 log4j 实例的简单本地扫描器 | Kitploit
工具/GitHubGitHub/hillu/local-log4j-vuln-scanner
静态分析漏洞扫描器漏洞分析代码分析DevSecOps供应链安全Archived
GitHubhillu/local-log4j-vuln-scanner

local-log4j-vuln-scanner

[Moved to Codeberg] 用于检测易受攻击的 log4j 实例的简单本地扫描器

查看仓库
371724年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

简单的本地 log4j 漏洞扫描器

logo

(使用 Go 编写,因为,你知道的,“一次编写,到处运行”。)

这是一个简单的工具,可用于在 Java 软件(如 Web 应用程序)的安装中查找存在漏洞的 log4j 1.x 和 2.x 实例。它会检查 JAR 和 WAR 归档文件,并标记已知存在漏洞的类文件。扫描以递归方式进行:包含 WAR 文件的 WAR 文件,其中再包含 JAR 文件,而 JAR 文件中又包含存在漏洞的类文件——这些都应该能被正确标记。

目前可识别的漏洞包括:

  • CVE-2019-17571 (1.x)
  • CVE-2021-44228
  • CVE-2021-45105
  • CVE-2021-45046(由于严重性较低,默认不报告)
  • CVE-2021-44832(由于严重性较低,默认不报告)

该扫描工具目前会检查通过 Maven 获取的已知构建产物。Linux 发行版中常见的从源码重新构建的版本可能无法被识别。

此外,还附带一个简单的补丁工具,可通过重写 ZIP 归档结构来从 JAR 文件中修补掉有问题的类。

针对已标记版本的 x86_64 Windows、Linux、MacOSX 二进制文件可通过 Releases 页面获取。

使用扫描器

root@kitploit:~
$ ./local-log4j-vuln-scanner [--verbose] [--quiet] \
    [--ignore-v1] [--ignore-vulns=...] \
    [--exclude /path/to/exclude …] \
	[--scan-network] \
	[--log /path/to/file.log] \
    /path/to/app1 /path/to/app2 …

--verbose 标志会显示每个被检查的 .jar 和 .war 文件,即使未发现问题也会显示。

--quiet 标志会抑制输出,仅显示已知漏洞的指示信息。

--ignore-v1 标志将_排除_对 log4j 1.x 漏洞的检查。

--ignore-vulns 标志允许_排除_对特定漏洞的检查。例如:-ignore-vulns=CVE-2021-45046,CVE-2021-44832。要检查所有已知漏洞,请传入空列表,如下所示:-ignore-vulns=

--log 标志允许将所有内容写入日志文件,而不是输出到 stdout/stderr。

使用 --exclude 标志可排除子目录不被扫描。可多次使用。

--scan-network 标志指示扫描器搜索网络文件系统(默认禁用)。此功能尚未在 Windows 上实现。

如果找到指示某个漏洞的类文件,则会向标准输出打印类似以下的消息:

root@kitploit:~
./local-log4j-vuln-scanner - a simple local log4j vulnerability scanner

Checking for vulnerabilities: CVE-2019-17571, CVE-2021-44228, CVE-2021-45105
examining /path/to/vuln/log4shell-vulnerable-app-0.0.1-SNAPSHOT.war
indicator for vulnerable component found in /path/to/vuln/Downloads/log4shell-vulnerable-app-0.0.1-SNAPSHOT.war::WEB-INF/lib/log4j-core-2.14.1.jar (org/apache/logging/log4j/core/net/JndiManager.class): JndiManager.class log4j 2.14.0-2.14.1 CVE-2021-44228, CVE-2021-45105

Scan finished

使用补丁工具

注意: 请自行承担使用风险,并保留原始 JAR 文件。

root@kitploit:~
$ ./local-log4j-vuln-patcher log4j-core-2.14.1.jar log4j-core-2.14.1-patched.jar
Filtering out org/apache/logging/log4j/core/pattern/MessagePatternConverter.class (log4j 2.14)
Filtering out org/apache/logging/log4j/core/net/JndiManager.class (log4j 2.14.0-2.14.1)

Writing to log4j-core-2.14.1-patched.jar done

从源码构建

安装 Go 编译器。

在已检出的仓库中运行以下命令:

root@kitploit:~
go build -o local-log4j-vuln-scanner ./scanner
go build -o local-log4j-vuln-patcher ./patcher

(在 Windows 系统上,当然要添加相应的 .exe 扩展名。)

许可证

GNU 通用公共许可证,第 3 版

作者

Hilko Bengen <[email protected]>

下载工具