Spring Framework 远程代码执行漏洞 CVE-2022-22965
影响范围 Spring Framework < 5.3.18 Spring Framework < 5.2.20 漏洞类型参数绑定漏洞 操作系统限制无 配置要求无 漏洞利用执行命令,可以进行反弹 shell 利用原理利用 Java 特性,对象互通且允许通过点号. 访问属性的属性,在 JDK9 中引入了 Module,Spring 没防住 class.module.classLoader,可以直接通过参数访问到 Tomcat 的类加载器。在 Tomcat 中有一个 AccessLogValve 组件负责记录访问日志,可以通过参数绑定来修改其配置,directory(日志存放目录)、prefix(日志文件名)、suffix(日志后缀)、fileDateFormat(日期后缀)、pattern(日志格式),将目录修改到 Web 根目录,将日志文件名确定,日志后缀改成.jsp,将日期后缀清空,防止文件名额外添加上日期,将 Java 恶意代码注入到日志格式中。最后通过日志功能,当攻击者发送请求,将设定好的文件存放到 Web 根目录,内容即构造的恶意 payload。patte...