Spring Web Flow
Spring 的一个子项目,其最主要的目的是解决跨越多个请求的、用户与伺服器之间的、有状态交互问题。
漏洞介绍
SpringWebFlow在Model的数据绑定上面,由于没有明确指定相关model的具体属性导致从表单可以提交恶意的表达式从而被执行,导致任意代码执行的漏洞,这个漏洞利用除了版本的限制之外还有两个前置条件,这两个前置条件中有一个是默认配置,另外一个就是编码规范了,漏洞能不能利用成功主要就取决于后面的条件。
触发漏洞前提条件:
测试时需要注意修改
org.springframework.webflow.samples.booking.config.WebFlowConfig.mvcViewFactoryCreator()
方法中的改成 factoryCreator.setUseSpringBeanBinding(false);
因为这个工程修改了useSpringBeanBinding的默认值。