Spring Web Flow
Spring 的一個子項目,其最主要的目的是解決跨越多個請求的、用戶與伺服器之間的、有狀態交互問題。
漏洞介紹
SpringWebFlow在Model的數據綁定上面,由於沒有明確指定相關model的具體屬性導致從表單可以提交惡意的表達式從而被執行,導致任意代碼執行的漏洞,這個漏洞利用除了版本的限制之外還有兩個前置條件,這兩個前置條件中有一個是默認配置,另外一個就是編碼規範了,漏洞能不能利用成功主要就取決於後面的條件。
觸發漏洞前提條件:
測試時需要注意修改
org.springframework.webflow.samples.booking.config.WebFlowConfig.mvcViewFactoryCreator()
方法中的改成 factoryCreator.setUseSpringBeanBinding(false);
因為這個工程修改了useSpringBeanBinding的默認值。