环境:春秋云境“免费空间”授权实验靶场。历史实例已关闭。
1. 基本信息
| 项目 | 内容 |
|---|---|
| CVE | CVE-2022-22963 |
| 产品 | Spring Cloud Function |
| 注入点 | spring.cloud.function.routing-expression |
| 漏洞类型 | functionRouter SpEL 注入 |
| 利用方式 | 文件读取侧信道恢复 /flag |
| Flag | flag{11963ce2-959e-449b-9f36-7aed8d87d6b4} |
2. 原理与复现
路由表达式由请求头/参数控制并在 SpEL 上下文执行,攻击者可调用不应暴露的类或文件能力。题目通过读取 /flag 的结果侧信道逐位恢复内容。
代表性请求结构:
POST /functionRouter HTTP/1.1
Host: <Spring-Cloud-Function-靶场域名>
spring.cloud.function.routing-expression: <SpEL-expression>
Content-Type: text/plain<body>
在授权靶场中构造文件读取/条件表达式,根据响应差异枚举 /flag,恢复:
flag{11963ce2-959e-449b-9f36-7aed8d87d6b4}
3. 修复建议与验证
升级 Spring Cloud Function,禁止用户输入进入 SpEL;使用固定路由白名单和最小权限,移除文件/反射能力。Flag 与平台记录一致,已提交并关闭靶场;原始表达式和侧信道阈值未保存,截图已保存到 images 目录并由平台详情页复核。
截图证据


