某软件监控页面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其实挺容易构造,完整的漏洞数据包有点敏感,暂时不公布了

效果:

免责申明

本文中提到的漏洞分析过程仅供研究学习使用,请遵守《网络安全法》等相关法律法规


本文作者:dingjiacan@antvsion.com

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/190655.html

Tags:
评论  (0)
快来写下你的想法吧!

dingjiacan@antvsion.com

文章数:342 积分: 877

蚁景网安实验室(www.yijinglab.com)网络安全靶场练习平台,涉及CTF赛前指导、职业技能训练、网安专项技能提升等。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号