针对 CVE-2022-22963 的教育性概念验证自动化工具,已在经授权的 Hack The Box 实验室环境中演示。
CVE-2022-22963 是一个 Spring Cloud Function 漏洞,涉及
spring.cloud.function.routing-expression 请求头。
在易受攻击的配置下,攻击者可滥用 Spring 表达式 语言(SpEL)的求值,通过函数路由机制 调用 Java 功能。
此仓库包含一个 Python 自动化脚本,用于复现 经授权的 CTF/实验室环境中的该漏洞。
CVE ID: CVE-2022-22963 受影响组件:Spring Cloud Function 受影响版本:< 3.1.7, < 3.2.3 修复版本:3.1.7, 3.2.3 漏洞类型:表达式语言注入 (CWE-917) 攻击向量:网络,未认证(取决于部署方式) 严重性:严重(根据 NVD,CVSS 9.8) 参考资料 NVD 条目:https://nvd.nist.gov/vuln/detail/CVE-2022-22963 Spring 官方公告:https://spring.io/security/cve-2022-22963 修复提交 / 发布说明:参见 Spring Cloud Function 的 GitHub releases
Spring Cloud Function 的路由功能允许调用方通过一个请求头选择由哪个函数处理请求。在修复之前,该请求头的值会被无限制地传入 SpEL 求值上下文。由于 SpEL 支持调用任意 Java 类和方法(例如 T(java.lang.Runtime)),精心构造的请求头值可导致在运行易受攻击应用的宿主机上执行操作系统命令。
成功利用该漏洞可使未认证的攻击者以应用程序进程的权限执行任意操作系统命令,进而可能导致主机完全失陷、横向移动或数据泄露,具体取决于环境配置。
所提供的代码允许在易受攻击的目标上注入一个反弹 shell
usage: exploit.py [-h] lhost lport url
本内容仅供授权的安全研究和教育使用(例如 HTB 实验室环境)。请勿将本信息用于针对非您拥有或未经明确书面许可进行测试的系统。