致远OA任意文件上传Getshell

晚间无聊,想挖一波edu,然后碰到个致远的OA系统,查了一下版本号,存在版本漏洞可以直接拿shell。网上复现的案例比较少,而且步骤都不是很详细,于是亲自找了个exp复现了一下。

一丶漏洞介绍

致远 A8+ 某些版本系统,存在远程任意文件上传文件上传漏洞,并且无需登录即可触发。攻击者构造恶意文件,成功利用漏洞后可造成Getshell。同时该系统的漏洞点在于致远OA-A8系统的Servlet接口暴露,安全过滤处理措施不足,使得用户在无需认证的情况下实现任意文件上传。攻击者利用该漏洞,可在未授权的情况下,远程发送精心构造的网站后门文件,从而获取目标服务器权限,在目标服务器上执行任意代码。

二丶影响版本

致远A8-V5协同管理软件 V6.1sp1

致远A8+协同管理软件V7.0、V7.0sp1、V7.0sp2、V7.0sp3

致远A8+协同管理软件V7.1

三丶漏洞复现

第一步先访问一下/seeyon/htmlofficeservlet这个目录,如果访问成功,如下图所示,说明该网站很有可能存在漏洞(但是看一些表格发布的文章说只要有这个就存在漏洞,但是在我实测的过程中,发现有很多有这个也不可以的)

致远oa技术架构 致远oa系统_文件上传

下一步直接用我们的exp测试一下,如果有漏洞的话直接可以拿shell

致远oa技术架构 致远oa系统_文件上传_02

我们执行完我们的exp,输出了一个weshell地址,访问一下确实存在,说明文件上传成功。危害还是挺大的,直接就是系统管理员权限。

致远oa技术架构 致远oa系统_html_03

ipconfig

致远oa技术架构 致远oa系统_html_04

简单的分析了一下exp,就是发送了一个post数据包,数据包内是构造的我们的jsp的脚本,可以执行cmd命令。

如果有漏洞就会输出我们的webshell地址。

致远oa技术架构 致远oa系统_管理软件_05

四丶修复建议

1、在不影响系统正常使用的情况下,限制seeyon/htmlofficeservlet路径的访问。
2、联系致远官方获取补丁
3、通过 ACL 禁止外网对“/seeyon/htmlofficeservlet”路径的访问

因为此漏洞比较敏感,如需exp自行去GitHub搜索,这里就不放了。
公开安全研究,禁止非法利用