







Apache Unomi介绍Apache Unomi具有隐私管理、用户/事件/目标跟踪、报告、访客资料管理、细分、角色、A/B测试等功能 , 可以作为Web CMS、个性化服务、原生移动应用的分析服务、具有分段功能的集中配置文件管理系统、授权管理中心 。
漏洞介绍CVE-2020-13942是CVE-2020-11975的绕过
该漏洞描述的是Unomi针对MVEL表达式(和OGNL表达式)的未进行敏感函数的过滤 , 直接解析 , 导致任意代码执行
本文主要对MVEL这条利用链做代码层面的分析
poc请求包漏洞利用时相关的Poc请求包如下 , 后续代码分析会涉及到
分析思路MVEL表达式解析的模式有两种 , 分别是
【一>所有资源关注我 , 私信回复“资料”获取<一】
1、200份很多已经买不到的绝版电子书
2、30G安全大厂内部的视频资料
3、100份src文档
4、常见安全面试题
5、ctf大赛经典题目解析
6、全套工具包
7、应急响应笔记
8、网络安全学习路线
- 解释模式
MVEL.eval(expression vars)
- 编译模式
MVEL.compileExpression(expression) + MVEL.executeExpression(compiled vars)
倒推分析通过在源码中搜索关键字
script::与MVEL.executeExpression(可以初步定位出现问题的代码位于源码的如下位置unomi-unomi-root-1.5.1\\persistence-elasticsearch\\core\\src\\main\\java\\org\\apache\\unomi\\persistence\\elasticsearch\\conditions\\ConditionContextHelper.java
我们构造的恶意表达式就是通过这条代码进行解析从而导致RCE的
基于此方法向上回溯 , 找调用它的地方
继续向上回溯
看到
condition.getParameterValues()基本可以确定我们的思路是正确的接下来主要找入口点 , 即往
/context.json这个路径下发送数据是如何一步一步到ConditionContextHelper#getContextualCondition()的向上回溯
getContextualCondition()有三处调用到几个方法分别是
buildFilter()、count()、eval() , 因为看到poc里有关键字filter , 所以先跟入buildFilter() , 看看是不是从这里进来的接着向上回溯 , 看
buildFilter()的调用位置最终回溯到的位置(即入口位置)位于
- 安全漏洞|又一新规发布:禁止美企向中企分享安全漏洞,鸿蒙迎来最佳发展机遇!
- |美国拒绝分享系统漏洞,中国打造首个桌面操作系统根社区应对
- apache|汇总 | 2022年6月,全价格段性价比最高的装机方案,你想要的都在这
- 高通骁龙|薅羊毛遭秋后算账,微软大规模退款因漏洞低价购入的XGP会员
- apache|华为手机,vivo手机和iQOO哪个性价比好,各有什么优缺点?
- 微软、英特尔警告:Win11/10/8.1 存在 MMIO 陈旧数据漏洞
- AMD|x86 CPU 危!最新漏洞引发热议 黑客可远程窃取密钥
- 香烟|直播间成香烟卖场,堵住漏洞要线上线下并行
- 操作系统|美出台新规:限制向我国分享安全漏洞,中企:来得很及时!
- 香烟|直播间成香烟卖场 堵住漏洞要线上线下并行
