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

基本上所有的上传点和该上传点都类似,就拿这一处来分析



其他的地方同理参考



所有上传点均取消了之前存在缺陷的typefile参数



余下的参数:



dir= //自定义上传路径,默认upload目录下,(这里存在缺陷后面讲,针对linux平台的)



makeYMdir=no //不进行日期重命名



然后过滤了非法的后缀



首先对于



# Windows



对于windows是几乎所有ezoffice的标配,都搭建在微软的windows上,也是最快捷方便的getshell,管你什么乱七八糟的中间件、服务器,一律不管,直接上传通杀



包括你旧版本的什么singleuplosd、hotupload等一堆乱七八糟的上传



还是修复以后、删的删、改的改的上传



不管你是需要登录的还是不需要登录的上传



windows下可以直接利用ADS文件流来突破所有防御



code 区域
POC:



shell.jsp::$DATA





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



Javaweb架构分析安全之万户ezoffice全版本通杀上传GETSHELL_第1张图片





这个呢,主要还是利用了该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也会以日期来重命名该文件



所以对该处突破要利用



code 区域
/../../..





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



来看对比图



Javaweb架构分析安全之万户ezoffice全版本通杀上传GETSHELL_第2张图片





Javaweb架构分析安全之万户ezoffice全版本通杀上传GETSHELL_第3张图片





Javaweb架构分析安全之万户ezoffice全版本通杀上传GETSHELL_第4张图片





但是windows下并不能跨盘,比如在D盘,不能跨到C盘去,但是windows已经通杀了,还管这个有什么用呢,所以放在linux下讲



linux下所有目录均可以,通过该缺陷覆盖配置文件或者自定义规则来Getwebshell



(End)

你可能感兴趣的:(Javaweb架构分析安全之万户ezoffice全版本通杀上传GETSHELL)