menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right 008-Apache Dubbo chevron_right 001-CVE-2019-17564 Apache Dubbo 反序列化漏洞.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    001-CVE-2019-17564 Apache Dubbo 反序列化漏洞.md
    2 KB / 2021-07-17 00:01:22
        # CVE-2019-17564 Apache Dubbo 反序列化漏洞
    
    ## 01漏洞描述#
    
    Apache Dubbo支持多种协议,官方推荐使用Dubbo协议.Apache Dubbo HTTP协议中的一个反序列化漏洞(CVE-2019-17564),该漏洞的主要原因在于当Apache Dubbo启用HTTP协议之后,Apache Dubbo对消息体处理不当导致不安全反序列化,当项目包中存在可用的gadgets时即可导致远程代码执行.
    
    ## 02影响范围#
    
    2.7.0 <= Apache Dubbo <= 2.7.4.1
    
    2.6.0 <= Apache Dubbo <= 2.6.7
    
    Apache Dubbo = 2.5.x
    
    ## 03漏洞复现#
    
    环境介绍:
    
    Windows 10
    
    JDK8u221
    
    **一、环境搭建**
    
    先从GIthub上获取dubbo的项目
    
    项目地址:https://github.com/apache/dubbo-samples
    
    提取“dubbo-samples-http”目录到项目中
    
    ![](images/15889385712582.png)
    
    
    用IDEA打开后需要修改pom.xml中的dubbo.version
    
    ![](images/15889385800598.png)
    
    
    我这里将其修改为2.7.3漏洞版本
    
    加载pom.xml中的依赖,其中有些依赖无法从远程仓库中获取的,经过分析后这些依赖无需加载,将其删掉就可以了。
    
    导入完依赖后还需要一个本地触发gadgets,这里导入commons-collections4-4.0。
    
    当然启动还需要依赖zookeeper,下载完zookeeper后将conf目录下的zoo_sample.cfg文件改成zoo.cfg并修改其中的两个参数
    
    ![](images/15889385915185.png)
    
    
    data和log目录需要自己在zookeeper目录下创建
    
    运行bin\zkServer.cmd文件
    
    随后启动dubbo项目中的启动HttpProvider
    
    ![](images/15889386003066.png)
    
    
    ### 二、构造反序列化#
    
    利用ysoserial生成payload
    
    ysoserial下载地址:http://wiki.0-sec.org/download/ysoserial.zip
    
    `java -jar ysoserial-master-30099844c6-1.jar CommonsCollections4 "calc" > payload.out`
    
    ![](images/15889386204926.png)
    
    
    将payload粘贴至burp中
    
    ![](images/15889386320114.png)
    
    
    ![](images/15889386396710.gif)
    
    后面的分析就不多说了,关注公众号“小陈的Life”可以查看详情
    
    https://qiita.com/shimizukawasaki/items/39c9695d439768cfaeb5
    
    https://mp.weixin.qq.com/s/KZxhX3Q_mE6PJ6MT7cYbeQ
    
    links
    file_download