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

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

缺陷编号:wooyun-2014-061080

漏洞标题:用友协作办公平台再次通杀SQL注入

相关厂商:用友软件

漏洞作者: 路人甲

提交时间:2014-05-17 21:50

修复时间:2014-08-15 21:52

公开时间:2014-08-15 21:52

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-17: 细节已通知厂商并且等待厂商处理中
2014-05-22: 厂商已经确认,细节仅向厂商公开
2014-05-25: 细节向第三方安全合作伙伴开放
2014-07-16: 细节向核心白帽子及相关领域专家公开
2014-07-26: 细节向普通白帽子公开
2014-08-05: 细节向实习白帽子公开
2014-08-15: 细节向公众公开

简要描述:

用友协作办公平台再次通杀SQL注入
由于绝大部分系统采用的是MSSQL,权限非常大,返回的shell 不是system 就是administrator

详细说明:

#1 漏洞文件
/witapprovemanage/appraupNew.jsp
漏洞代码如下

<%
Dao dao = (Dao)ResourceManage.getContext("dao");
String master_key = "";
FieldSet fswm = null;
String tablenameStr = "";
if(request.getParameter("flowid")!=null){
master_key = request.getParameter("flowid");//接收flowid参数
fswm= dao.getFieldSetByFilter(dao.getTableName("WF_MODEL")," WM00= '" + master_key + "'");
tablenameStr = fswm.getString("WM04");
}
String resid = "";
if(request.getParameter("resid")!=null){
resid = request.getParameter("resid");
}
//根据resid来查询出资源的信息.
FieldSet resourceSet = null;
String resType = "";
resourceSet= dao.getFieldSetByFilter(dao.getTableName("APPRV_RESOURCE")," ID= '" + resid + "'");
resType = resourceSet.getString("TYPE");
String restype = "";
if(request.getParameter("restype")!=null){
restype = request.getParameter("restype");
}
String nodeid = "";
if(request.getParameter("nodeid")!=null){
nodeid = request.getParameter("nodeid");
}
WitCollocate wit = (WitCollocate)ResourceManage.getContext("witCollocate");
//FieldSet fs = wit.getApprvFlowById("1");
FieldSet fs = null;
String id = "";
DataTable fstable = null;
//当为节点配置
if(restype.equals("2")){
fstable = dao.getDataTable("select * from "+dao.getTableName("apprv_flow") + " where flowid=" + master_key + " and resid=" + resid,1,Integer.MAX_VALUE);
//这里带入了SQL查询


由此可见,flowid参数未经过任何过滤,进入SQL语句而导致SQL注入漏洞

漏洞证明:

#2 采用sqlmap进行测试
由于网上有大量的实例,同样任意选取两个案例进行测试验证..
案例一:

http://oa.xhlbdc.com//witapprovemanage/appraupNew.jsp?flowid=1&resid=2&restype=3&nodeid=4


1.jpg


效果如图所示

2.jpg


案例二:

http://218.205.208.22:9090//witapprovemanage/appraupNew.jsp?flowid=1&resid=2&restype=3&nodeid=4


3.jpg


效果如下图所示

4.jpg


#3 权限测试
权限都很高,可以直接添加管理账号

win-fo48a1najvj\administrator


5.jpg

修复方案:

赶紧修复吧

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-05-22 11:47

厂商回复:

该漏洞与之前的发现的SQL注入漏洞一致,目前已经统一修复。谢谢!

最新状态:

暂无