暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Apache OFBiz 漏洞复现 (2021-26295/2020-9496)

pen4uin 2021-03-24
736

 本公众号所有技术文章, 仅用于经验技术交流学习,禁止应用到不正当途径,因滥用技术产生的风险与本人无关!


0x01 环境搭建

环境配置

官网(http://www.gradle.org/downloads)下载解压

GRADLE_HOME


编辑CLASSPATH

编辑环境变量PATH

安装成功

添加依赖

解压后导入IDEA,修改部分配置后等IDEA自动下载相关依赖。

build.gradle:添加mysql的驱动依赖

    // MySQL Connector l
    compile 'mysql:mysql-connector-java:5.1.41'

    修改\framework\entity\config\entityengine.xml中datasource为本地数据库配置(这里以mysql为例)

      见附件

      创建用户名口令和3个数据库

        create user 'ofbiz'@'localhost' identified by 'ofbiz';    
        create database ofbiz DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        create database ofbizolap DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        create database ofbiztenant DEFAULT CHARSET utf8 COLLATE utf8_general_ci;    
        grant all on *.* to 'ofbiz'@'localhost';
        flush privileges;    
        show grants for 'ofbiz'@'localhost';    
        quit;  

        修改文件\framework\entity\config\entityengine.xml

          <datasource  name="localmysql"...
          character-set="utf8"
          collate="utf8_general_ci"

          idea导后会自动下载相关依赖

          运行环境

          双击gradlew.bat,下载gradlew以及相关的依赖

          导入数据

            gradlew cleanAllloadDefault

            运行项目

              gradlew ofbiz

              访问:

                https://localhost:8443/ordermgr
                https://localhost:8443/webtools/control/main
                https://localhost:8443/accounting/control/main

                使用默认账号admin/ofbiz来登录

                0x02 相关漏洞

                CVE-2020-9496 RCE

                洞简介

                Apache ofbiz 存在反序列化漏洞,攻击者 通过 访问未授权接口,构造特定的xmlrpc http请求,可以造成 远程代码执行的影响。

                影响范围

                ApacheOfbiz:< 17.12.04

                漏洞详情

                XML-RPC是一种远程过程调用(RPC)协议,它使用XML对其调用进行编码,并使用HTTP作为传输机制。它是一种规范和一组实现,允许软件运行在不同的操作系统上,运行在不同的环境中,通过Internet进行过程调用。在XML-RPC中,客户端通过向实现XML-RPC并接收HTTP响应的服务器发送HTTP请求来执行RPC。

                漏洞复现

                漏洞触发点

                  /webtools/control/xmlrpc

                  检测漏洞是否存在

                  报错,可根据提示查看日志

                  可见服务端已经将base64解码,还尝试读取对象,但是由于传入的是字符串,所以报错。

                  弹计算器

                  使用ysoserial生成payload,base64编码,并去掉换行符:

                    java -jar ysoserial.jar CommonsBeanutils1 calc |base64 | tr -d '\n'

                     

                    粘贴替换payload

                     

                    CVE-2021-26295 RCE

                    漏洞简介

                    Apache OFBiz是一个电子商务平台,用于构建大中型企业级、跨平台、跨数据库、跨应用服务器的多层、分布式电子商务类应用系统。2021年3月22日 Apache OFBiz官方发布安全更新,修复了一处由RMI反序列化造成的远程代码执行漏洞(CVE-2021-26295)。攻击者可构造恶意请求,触发反序列化,从而造成任意代码执行。

                    影响范围

                    ApacheOFBiz: <17.12.06

                    漏洞复现

                    Dns回显

                    使用ysoserial.jar生成dns回显的payload

                      java -jar ysoserial.jar URLDNS http://o55y3e.dnslog.cn | xxd

                      漏洞验证

                      dns查询记录

                      弹计算器

                        java -jar ysoserial.jar CommonsBeanutils1 calc > calc.ser

                        将calc.ser转成16进制

                        替换payload


                        参考:

                          https://xz.aliyun.com/t/9338
                          https://twitter.com/zhzyker/status/1374354139816153091

                          附件:

                            链接:https://pan.baidu.com/s/1_OldI6Nfr6m-eW5SNqPE6w 
                            提取码:2021
                            复制这段内容后打开百度网盘手机App,操作更方便哦--来自百度网盘超级会员V5的分享


                            文章转载自pen4uin,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                            评论