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

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

缺陷编号:wooyun-2014-047660

漏洞标题:12306漏洞致验证码破解泛滥

相关厂商:中国铁道科学研究院

漏洞作者: debbbbie

提交时间:2014-01-03 12:30

修复时间:2014-01-03 12:55

公开时间:2014-01-03 12:55

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

危害等级:中

自评Rank:8

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-01-03: 细节已通知厂商并且等待厂商处理中
2014-01-03: 厂商已经确认,细节仅向厂商公开
2014-01-03: 厂商提前公开漏洞,细节向公众公开

简要描述:

12306的验证码有逻辑漏洞,引来很多厂商破解

详细说明:

最近发现12306的验证码已经遭到某些厂商的密切关注,致使不管怎么改,他们都会及时破解,以至于“自动填写验证码”成了标配功能。。

1.png


于是从多方面重新分析了12306的验证码机制:
12306的验证码判断机制有两种,一种是提交操作的时候(比如登录),这不必多言;另一种是当填完验证码的时候,会自动检查一下验证码是否正确。

2.png


(https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn?randCode=8rhw)
后一种无非是增加用户体验,让用户提前知道自己输入的验证码是否正确,但是这已经被某厂商拿来所用,它可以检测自己是否填对了,若不对则刷新验证码重新识别,直到成功为止,进而向大家吹嘘自己多牛,这显然会给春运购票造成更大的拥堵。

3.jpg


把后一种验证码判断机制去掉,对某些厂商而言,将会是致命打击;而对广大用户而言,则影响不大。
PS:致媒体朋友们,转载请注意版权声明。

漏洞证明:

修复方案:

将验证码预校验功能关掉!
(相关URL: https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn?randCode=8rhw)

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-01-03 12:48

厂商回复:

关于验证码的事情大家已经说得太多了,让你们受累。
验证码预校验功能是否关掉,我们还需要进一步评估。

最新状态:

2014-01-03:这是一个用户体验提升,但被别有用心的厂商利用的功能。很多网站都有采用,是否算是漏洞可商榷。我们决定公开这个漏洞,但我们保留当个别厂商继续挑战识别验证码这个底限时,对其采取针对性措施的权利。


漏洞评价:

评论

  1. 2014-01-06 17:33 | debbbbie ( 路人 | Rank:10 漏洞数:2 | 深藏功与名 - A Rubyist)

    礼物已收到~ ~

  2. 2014-01-06 21:14 | web天空 ( 路人 | Rank:1 漏洞数:1 | 你猜镇,不告诉你村。)

    请12306官方人员在高峰期手动去体验下这一功能。如果你觉得体验好,保留着无所谓。我只想问:12306研发人员有没有自己体验下这个验证码预校验功能?简直就是一祸害!!除了@debbbbie 提到的被不少厂商利用,再提提我的使用体会:手动在官网抢票,无论登陆和提交订单,只要输入验证码完毕必定会卡屏甚至卡死浏览器,刚开始以为电脑不行,没想到身边同事以及朋友都遇到这种情况,因为12306异步请求预校验时把整个浏览器都卡住了,只有继续等待到不卡的时候继续操作,或者强制关闭浏览器,重新登录,这时候还能抢到票?可笑!12306,待你评估完,双亲翘首,我已穷途归路!——一个花了两周时间,在众亲友帮助下买到票的小白帽

  3. 2014-01-06 21:58 | debbbbie ( 路人 | Rank:10 漏洞数:2 | 深藏功与名 - A Rubyist)

    @web天空 :+1:

  4. 2014-01-07 16:59 | 撸人乙 ( 路人 | Rank:0 漏洞数:1 | 大家好,我是撸人乙,请多多关照!)

    请12306官方人员在高峰期手动去体验下这一功能。

  5. 2014-01-08 09:09 | 无面者 ( 路人 | Rank:4 漏洞数:5 | I'm a new man in security area.)

    好几亿的项目,表示小白帽不敢碰。。。。不过小白还是想问问,这几亿花哪了???

  6. 2014-01-09 00:31 | scan_z ( 路人 | Rank:8 漏洞数:4 | /home/work/newsphp/newsroot/temp/smarty/...)

    其实只要把售票权分点出去给互联网巨头就什么都解决了。

  7. 2014-07-06 09:08 | cat73 ( 实习白帽子 | Rank:34 漏洞数:6 | 喵爱吃鱼, 喵要吃好多好多鱼~~地址栏输入...)

    @scan_z 正解啊,分出去一个查询API给几个大厂商,能减小多少服务器压力,非得跟人家对抗,人家是拿着技术跟你对抗的,真正买票的人呢? 12306的初衷不就是让人们可以更快的买到票么? 公开个API怎么了,你们又没什么损失,最后买到的票钱还不是都给你们