java中间件命令执行总结,dubbo中间件存在Java反序列化命令执行风险 | wooyun-2016-0188237| ...

-----------------

0x00 dubbo 简介

------------------

Dubbo是阿里巴巴提供的一个开源的分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案。

与传统的webservice不同,dubbo可以集中管理各个服务提供者、消费者集群,并提供注册中心、性能监控和管理后台等功能。

官网:http://**.**.**.**/Home-zh.htm

------------------------

0x01 dubbo的RMI调用方式

------------------------

RMI就是java程序中普遍使用的一种远程过程调用的接口,用于实现远程方法的调用。

Dubbo号称无侵入的API,甚至只需要JDK支持。这不禁让我想到dubbo这种远程service管理系统难不成会少了RMI的身影?

看了一下dubbo的源码,发现dubbo存在多个协议的支持:

9e99914b58a70263e1e795dcfc7128b9.png

不出所料,果然是支持RMI协议。来看一下dubbo里的实现:

b6913c130e2ef47ba1e2ee5947f68839.png

使用了Spring的RMI创建方式,底层实现还是原生RMI,如果server端使用了不安全的lib,就会造成RMI方式的反序列化漏洞。

----------------------------------

0x02 dubbo RMI模式下的反序列化漏洞

-----------------------------------

本地搭建起dubbo服务,使用zookeeper作为注册中心,protocol选择为:

b83b2e19b6bf00c48a07e985da980d60.png

开启RMI服务之后,就会在dubbo控制台上看到服务信息:

0c81d02aca0e5efb1e41813a0372f2f2.png

使用ysoserial.jar提供的RMI注册类执行命令,这里使用了cloudeye进行辅助测试:

be0776ea7be98df3484cdf186d812fc0.png

关于RMI的反序列化执行,可以看看zone上有人发的帖子,想了解原理,可以看绿盟发的分析文:http://**.**.**.**/java-deserialization-vulnerability-overlooked-mass-destruction/

Cloudeye收到信息:

e9c1e79048f3b5586b6f989bd256a6b5.png

--------------

0x03 小彩蛋

---------------

在测试的途中,发现了不少dubbo的监控组件暴露,并且互联网上存在很多弱口令的dubbo-admin(默认用户名/密码为root)。

两个小例子:

**.**.**.**:8090/governance/services/jackjboss/com.chsoft.shiro.facade.UserService/providers/615

**.**.**.**:8080/governance/services/com.alibaba.dubbo.monitor.MonitorService/providers/40

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值