【漏洞分析】中危漏洞分析:致远OA未授权RCE漏洞

漏洞等级:中危 低于2019年的漏洞等级 涉及到未授权漏洞 这些漏洞已经影响到了多数用户,目前OA也给出了相应的补丁,漏洞细节尚未公布,以下是漏洞分析结果

简介

远程办公自动化是一套办公协作软件。最近,阿里云应急反应中心捕获了一些利用远程 OA 文件上传和权限绕过漏洞的剥削性示例。由于远程 OA 较旧版本的一些接口未经授权,以及对某些功能的过滤不足,攻击者可以上传恶意脚本文件,而无需通过构建恶意请求登录来控制服务器。一些远程 OA 官员为该漏洞提供了修补程序,其细节尚未公开。

首先,我们可以看到,这首先是一个未经授权的访问漏洞,然后结合使用任意文件上传漏洞。

当然,这个未经授权的访问漏洞非常好,所以首先分析漏洞。

补丁下载

可以在官方网站上下载一个远程办公软件,当然是 2020 年 10 月的补丁,可能是云弄错了。你为什么突然把它更新得像僵尸诈骗一样?

远程安装包

百度破解了版本,只能这么做。

补丁分析

首先,我们分析补丁已经改变了什么。这就是重点。

com.seeyon.ctp.common.spring.CTPHandlerInterceptor

【漏洞分析】中危漏洞分析:致远OA未授权RCE漏洞
【漏洞分析】中危漏洞分析:致远OA未授权RCE漏洞1

CTPHandlerInterceptor 可以与 Filter 的春季版本进行比较,对某些请求进行过滤。如我们所见,如果 url 出现 "./"、".#",则直接拦截请求。因此,让我们分析一下请求过程。

            boolean isAjax = "/ajax.do".equals(uri);
            String url = uri;
            String queryStr = request.getQueryString();
            if (queryStr != null) {
                url = uri + "?" + queryStr;
            }

            String ignoreUrl = url;
            if (isAjax) {
                String serviceName = request.getParameter("managerName");
                String methodName = request.getParameter("managerMethod");
                ignoreUrl = serviceName + "." + methodName;
            }

CTPHandlerInterceptor 首先确定它是否是 Ajax 请求,也就是说,url 是否包含 ajax.do。

记住变量 crereUrl,然后对其进行分析

 if (!needlessUrl && !User.isIgnoreUrl(ignoreUrl, request, response)) {
                boolean state = this.checkSessionPre(request, response, handler.getClass().getCanonicalName(), isAjax);
                if (!state) {
                    return state;
                }

                User.validateResource(url, true);
            }

User.isIgnoreUrl 方法的作用主要是基于不光彩的 url 是否需要将用户重定向到登录页面。当然,一些 Ajax 请求不需要登录,这给我们提供了一个利用的机会。以下是 isIgnoreUrl 的简化代码。

【漏洞分析】中危漏洞分析:致远OA未授权RCE漏洞2

我们可以直接分析哪里生成了 crereUrl 列表。

【漏洞分析】中危漏洞分析:致远OA未授权RCE漏洞3

也就是说,只要我们的 myreUrl 是关系图的内容,我们就可以绕过登录。

请参阅这里,结合上面的修补程序 diff 内容,您了解这个漏洞是什么吗?

该漏洞是为了绕过登录和访问受保护的接口,包括(但不限于)文件上传接口。因此,当局未经授权就直接修复了漏洞。您可以将其比作对 WebLogic 的未经授权访问,造成漏洞的原因实际上是相似的。

因此,在 Internet 上共享一个示例,即未经授权访问与任意文件一起上传的 getshell。

Poc

/seeyon/autoinstall.do.css/..;/ajax.do?method=ajaxAction&managerName=formulaManager&requestCompress=gzip
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
大佬不来一句? 共1条

请登录后发表评论

    • BUG之家的头像-BUG之家
    • 目前该漏洞 阿里云盾以及其他大厂商WAF均可拦截
      8月前