原文链接:某软件监控页面RCE漏洞分析
文章转载自:https://xz.aliyun.com/t/11778 作者:KimJun 前言 今年某行动中,某OA连续发了好几个高危漏洞补丁,搜索了一下,目前网络上还没有分析文章,正好最近有时间做一下漏洞分析和学习 漏洞说明 后台监控页面对传入参数为进行处理,导致命令执行 修复原理 补丁代码直接删除了后面一大段代码,我们分析一下这一段代码危害 首先登陆系统后访问下面链接,进入monitor页面,访问后台监控页面的jsp http://x.x.x.x/ctp/sysmgr/monitor/status.do 点击访问Cache Dump页面 这里访问会加载index.jsp,同时会在session设置GoodLuckA8,后续才能访问到漏洞页面 cacheDump.jsp 这里判断是否session存在GoodLuckA8了 抓这个页面的包,继续操作 cacheDump.jsp 这里传入b、m、p三个参数 这里符合条件会调用eval方法 跟进到eval方法,拼接beanName、func、param这个三个参数 进行ScriptEvaluator.eval 方法,可以看到这里用到groovy,继续跟进77行 最后这块编译文件,执行groovy代码 漏洞复现 p参数这里设置成下面的groovy代码,然后进行url编码,即可导致RCE 1); println "cmd /c calc".execute().text // 漏洞分析完,poc其实挺容易构造,完整的漏洞数据包有点敏感,暂时不公布了 效果: 免责申明 本文中提到的漏洞分析过程仅供研究学习使用,请遵守《网络安全法》等相关法律法规
|