12306逻辑漏洞

编号63025
Urlhttp://www.wooyun.org/bug.php?action=view&id=63025
漏洞状态漏洞已经通知厂商但是厂商忽略漏洞
漏洞标题12306逻辑漏洞
漏洞类型设计缺陷/逻辑错误
厂商中国铁道科学研究院
白帽子lijiejie
提交日期2014-06-01 11:02:00
公开日期2014-06-06 11:02:00
修复时间(not set)
确认时间0000-00-00 00:00:00
Confirm Spend-1
漏洞标签逻辑缺陷
关注数0
收藏数0
白帽评级
白帽自评rank16
厂商评级
厂商评rank0
漏洞简介
12306某处存在逻辑缺陷,可以大范围修改他人账号密码。
漏洞细节

这两天在写一个HTTP扫描器,顺便拿12306测试。 发现一处逻辑缺陷,找回密码的功能位于:
https://kyfw.12306.cn/otn/forgetPassword/initforgetMyPassword

12306_finpass.png


存在三个问题:
1,不要验证码可以猜解 用户名 / 邮箱。输入用户名,点击提取问题,只要返回的existError为N,均是存在的用户。 12306用户太多,大量猜解毫不费力,包括去猜解留了公司邮箱的人。@baidu.com、@youku.com等。 得到这些员工的个人信息,拿到后可以社工,设法渗透对应的商业公司(只是思路,(⊙o⊙))。
2,找回密码的地方验证码没有立即过期。这是常见的验证码缺陷,问题也很严重。因为验证码可以反复使用,直接被绕过了。个人估计12306是考虑到了性能的关系,才没让它立即过期。
3,通常密码提示答案都非常简单。 早些年通过回答问题破解163邮箱也蛮容易的不是?
综合上述3个问题,演示漏洞利用就很简单了:
1) 固定cookie和验证码
2) 固定问题: 您的出生地是?
3) 固定答案:北京
4) 用户名直接用双拼做字典
2)和3)还可以组合其他问题和答案,如果想破解更多的账号。
有心人可以通过这个漏洞来获取大量个人信息。
为了不影响太多用户,我只登陆了前面两个账号,在获取账号后及时终止了程序。

POC

12306_cracked.png


常用联系人泄露他人身份证和手机:

12306_friends.png

修复方案

因为你们更专业,就不多说了

状态信息 2014-06-01: 细节已通知厂商并且等待厂商处理中
2014-06-06: 厂商已经主动忽略漏洞,细节向公众公开
厂商回复None
回应信息危害等级:无影响厂商忽略忽略时间:2014-06-06 11:02
Showing 1-13 of 13 items.
评论内容评论人点赞数评论时间

好多网站都有 有的用户名直接是邮件 关键是社工比较麻烦

Rovegaby02014-07-10 17:36:00

好思路

GrayTrack02014-06-11 16:08:00

这个可以有!

未了02014-06-07 14:10:00

@未了 需要先UTF-8 urlEncode

lijiejie02014-06-07 13:40:00

洞主,提交中文答案出错怎么破 burpsuit

未了02014-06-07 13:00:00

被忽略

nextdoor02014-06-06 21:33:00

搜噶

49miner02014-06-06 18:36:00

改密码还能带批量的?我受惊了。

小火苗02014-06-01 21:48:00

这么吊

未了02014-06-01 17:56:00

mark

耐小心02014-06-01 17:23:00

Mark

Tenk02014-06-01 13:45:00

NB!

秋风02014-06-01 12:23:00

- -火钳刘明

小学猹02014-06-01 11:03:00