当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-060897

漏洞标题:用友协作办公平台通杀SQL注入(续一)

相关厂商:用友软件

漏洞作者: 路人甲

提交时间:2014-05-15 18:12

修复时间:2014-08-10 18:14

公开时间:2014-08-10 18:14

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-15: 细节已通知厂商并且等待厂商处理中
2014-05-20: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-07-14: 细节向核心白帽子及相关领域专家公开
2014-07-24: 细节向普通白帽子公开
2014-08-03: 细节向实习白帽子公开
2014-08-10: 细节向公众公开

简要描述:

用友协作办公平台某目录下存在多个通杀SQL注入,影响众多系统..
Tips:几乎全部以最高权限运行(nt authority\system).Ma Ya..

详细说明:

#1 漏洞文件
该系统的/sysform/目录下的多个文件存在SQL注入
存在漏洞的的文件为(检查下,应该不止列出来的这些)

/sysform/003/editflow_manager.jsp?option=2&GUID=1111
/sysform/003/share_select.jsp?type=2&fid=111
/sysform/004/addPlugin.jsp?ContainerId=111&flag=1
/sysform/017/cardContent.jsp
/sysform/994/464-1.jsp?oldtypeCur=11&SYS_CODE_KEY=1


选择其中两个,贴下源代码
/sysform/003/editflow_manager.jsp

<%@page import="fe.dao.FieldSet"%>
<%@page import="fe.dao.DataTable"%>
<%@page import="fe.util.StringUtil"%>
<%@page import="fe.dao.Dao"%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@page import="fe.res.ResourceManage"%>
<%@page import="fe.workflow.cooperation.CflowworkService"%>
<%
//Zero.lu 2012/08/03 修复已发协同/已发事项中,点击查看协同,加签后页面显示空白的BUG. 将原来的SUBMIT方式改为AJAX调用,并将删除节点从WF_INFOR表删除 begin
String option = request.getParameter("option");
if ("1".equals(option)) {
CflowworkService service = (CflowworkService)ResourceManage.getContext("cflowworkService");
String inforId = request.getParameter("inforId");
service.editFlow(inforId);
} else if ("2".equals(option)) {
String GUID = request.getParameter("GUID");//获取参数GUID
Dao dao = (Dao)ResourceManage.getContext("basicDao");
//String sql = "select WI13 from " + dao.getTableName("WF_INFOR") + " where WI62=?";
String sql = "select WI13 from " + dao.getTableName("WF_INFOR") + " where WI62='"+ GUID +"'";//带入了SQL查询
String procType = dao.getStringData(sql);
out.print(procType);
}
%>


/sysform/003/share_select.jsp

<%
String type=request.getParameter("type");
if("2".equals(type)){
String fid=request.getParameter("fid");//接收参数
Dao dao=(Dao)ResourceManage.getContext("dao");
String userId=dao.getStringData("SELECT COL_MDL_USERID FROM SYS_COLLABORATIVE_MOUDLE WHERE ID="+fid);//带入了SQL语句
User user=(User)ResourceManage.getRequest().getSession().getAttribute("User");
String userID="";
if(user!=null)userID=user.getUserID();
if(!userID.equals(userId))
out.print("<script>alert(\"该模板不允许被共享\");window.close();</script>");
}
%>


由于漏洞的形成比较简单,就不多说,下面直接漏洞测试.
#2 采用sqlmap进行测试
由于网上有大量的实例,任意选取两个案例进行测试验证..
下面测试一

http://oa.kaili.net.cn:9090//sysform/003/editflow_manager.jsp?option=2&GUID=1111


1.jpg


效果如图所示

2.jpg

漏洞证明:

接下来测试二

http://oa.bnuz.edu.cn:8080/sysform/003/editflow_manager.jsp?option=2&GUID=1111


11.jpg


效果如图所示

22.jpg


#3跑出的数据

33.jpg


均是以最高权限运行的 nt authority\system

44.jpg

修复方案:

赶紧修复吧

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-08-10 18:14

厂商回复:

最新状态:

暂无