Spring4Shell-CVE-2022-22965复现

Spring4Shell(CVE-2022-22965)完整复现:Tomcat + JDK 9-17、${...}表达式注入、RCE 利用、防御加固。

写在前面:合法学习边界

Spring4Shell 攻击只在授权测试环境进行。对非授权目标进行攻击可能触犯法律。

一、Spring4Shell 利用链

Spring4Shell 攻击链
1
① 发现 Spring Boot → ② 确认版本/JDK/Tomcat → ③ ${...} 注入 → ④ 写 TLD 文件 → ⑤ 触发加载 → ⑥ RCE

二、漏洞信息

1
2
3
4
CVE-2022-22965
影响:Spring Framework 5.3.0~5.3.17 / 5.2.0~5.2.19
条件:Tomcat + JDK 9-17
入口:Content-Type / Accept 头中 ${...}

三、利用步骤

1
2
3
4
确认版本(Spring Boot / Tomcat / JDK)
→ 构造 ${jndi:ldap://xxx} payload
→ 注入到 Content-Type 头
→ 反弹 Shell

四、防御加固

1
2
3
升级到 Spring Framework 5.3.18+
或打官方补丁
WAF 拦截 ${ 表达式

五、小结

Spring4Shell 是 Spring Framework 的远程代码执行漏洞。升级补丁是唯一有效的防御手段。