Javaweb架构分析安全之万户ezoffice全版本通杀上传GETSHELL

漏洞概要

缺陷编号:WooYun-2015-0126541

漏洞标题:Javaweb架构分析安全之万户ezoffice全版本通杀上传GETSHELL

相关厂商:ezoffice

漏洞作者:黑暗游侠

提交时间:2015-07-29 15:40

公开时间:2015-10-30 09:26

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

Tags标签:

漏洞详情

披露状态:

2015-07-29: 细节已通知厂商并且等待厂商处理中
2015-08-01: 厂商已经确认,细节仅向厂商公开
2015-08-04: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2015-09-25: 细节向核心白帽子及相关领域专家公开
2015-10-05: 细节向普通白帽子公开
2015-10-15: 细节向实习白帽子公开
2015-10-30: 细节向公众公开

简要描述:

Javaweb架构分析安全之万户ezoffice全版本通杀上传GETSHELL

详细说明:

客户案例(90%),ezOffice管理系统是万户核心系统,基本上客户都会搭建该oa搭配了ezprotal或者evo,都会配套ezoffice,这系统已经属于标配了,类似买手机总得配耳机:

漏洞证明:

ezOffice分政务版和企业版你用了ezportal+ezoffice或者ezflow+ezoffice要搞清楚的是各个系统并不是在同一台服务器上,可能分布在2台不同的服务器上你拿下了ezportal不一定shell也有ezoffice,反向同理不过核心平台的shell拿下,各种oa、敏感信息、配置文件都会泄露可以内网漫游了具体可以参考我下一个漏洞(对某核心宽带的内网漫游,也算是对该通用的一个实际攻击案例的重放)本次漏洞过程还是从ezOfiice的架构设计出发官网的介绍:

通过google和zoomeye的分析发现ezOffice的搭建平台:

然后就是分平台来看对不同的web服务器、中间件apache、tomcat、websphere、nginx、resin、libhttpd、jboss、weblogic等进行不同的方法拿uploder.jsp这个最新版本的文件代码示例:

基本上所有的上传点和该上传点都类似,就拿这一处来分析其他的地方同理参考所有上传点均取消了之前存在缺陷的typefile参数余下的参数:dir= //自定义上传路径,默认upload目录下,(这里存在缺陷后面讲,针对linux平台的)makeYMdir=no //不进行日期重命名然后过滤了非法的后缀首先对于# Windows对于windows是几乎所有ezoffice的标配,都搭建在微软的windows上,也是最快捷方便的getshell,管你什么乱七八糟的中间件、服务器,一律不管,直接上传通杀包括你旧版本的什么singleuplosd、hotupload等一堆乱七八糟的上传还是修复以后、删的删、改的改的上传不管你是需要登录的还是不需要登录的上传windows下可以直接利用ADS文件流来突破所有防御

最新版ezOffice,Getshell也就是那么一瞬间:

这个呢,主要还是利用了该javaweb的特性,几乎所有的均搭建在windows平台那么对于其他很小部分的# Linux同样也给出方案,毕竟万一碰到了怎么办ezOffice基于Servlet 2.5和java 2.1如果是apache,基本架构就是Apache+Tomcat+JDK(tomcat作为解释器,servlet容器)jsp、jspx不能上传但是shell.jsp.eee,shell.jsp.wooyun都不在黑名单内利用解析漏洞来突破或者上传一个.htaccess来解析getshell,方法很多如果是nginx静态资源,肯定是搭配jetty或者tomcat来处理servlet出于性能考虑,该架构基本难碰到碰到了还是利用解析漏洞来绕过如果再碰到更少的weblogic、websphere或者resin等可以利用jspf或者其他特性conf、xml配置等文件来拿shell所以前面的自定义目录就有用了默认的一个"/"上传的是defaultroot目录如果是"../../",非"/"开头,则makeYMdir设置为no也会以日期来重命名该文件所以对该处突破要利用

格式来进行任意非黑名单文件名(conf\config\properties\htaccess\xml)的任意目录上传来看对比图

但是windows下并不能跨盘,比如在D盘,不能跨到C盘去,但是windows已经通杀了,还管这个有什么用呢,所以放在linux下讲linux下所有目录均可以,通过该缺陷覆盖配置文件或者自定义规则来Getwebshell(End)

修复方案:

漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-08-0109:24

厂商回复:

cnvd确认并复现所述情况,已经由cnvd向软件生产厂商万户网络公司以往联系渠道邮箱通报。万户网络公司已经收悉,同时已经反馈称正在及时处置,建议用户关注其官方网站发布的最新补丁情况。根据实测案例,已经同步向各分中心下发。

最新状态:

暂无

评价

  1. 2010-01-01 00:00 prolog 白帽子 | Rank:518 漏洞数:59)

    小厂商。。

  2. 2010-01-01 00:00 http://www.wooyun.org/corps/cncert国家互联网应急中心 白帽子 | Rank:0 漏洞数:0)

    您好!

    感谢您对CNVD的支持,请您协助CNVD提供下测试实例(至少2个)确认通用性,如需登录前提,也请提供登录口令,[email protected],以便CNVD及时验证、处置。

    祝好!

  3. 2010-01-01 00:00 黑暗游侠 白帽子 | Rank:1058 漏洞数:93)

    @cncert国家互联网应急中心 ok了,早就mail你们了,怎么还不确认啊!急啊需要rank