文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
文章图片
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()
的调用位置最终回溯到的位置(即入口位置)位于
- iOS|苹果推送iOS15.2.1正式版修复漏洞为主 用户是否要更新看体验再说
- iOS|苹果发布iOS 15.2.1修补严重的HomeKit DDoS漏洞
- apache|如果美团外卖倒闭,对当今社会来说是利大于弊?还是弊大于利?
- IT之家1月14日消息|netusbusb共享组件中存在严重的远程代码执行漏洞
- Google|WordPress 爆料核心漏洞致使数百万个网站遭受攻击
- 谷歌|2G网络漏洞威胁大 新版安卓将加入开关允许用户手动关闭
- 中高端无线路由器 USB 共享组件被曝严重漏洞,厂商推出固件更新
- 美光|SATA SSD硬盘爆出安全漏洞 美光:攻击很难 会推更新
- 漏洞|苹果将出席白宫会议讨论开源软件的安全风险问题
- it|年轻黑客宣称远程控制了 25 辆特斯拉:并非通过软件漏洞操作