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

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

缺陷编号:wooyun-2014-049560

漏洞标题:金蝶云之家博客任意用户密码重置

相关厂商:金蝶

漏洞作者: dust_jead

提交时间:2014-01-22 17:15

修复时间:2014-03-08 17:15

公开时间:2014-03-08 17:15

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

危害等级:中

自评Rank:8

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-01-22: 细节已通知厂商并且等待厂商处理中
2014-01-23: 厂商已经确认,细节仅向厂商公开
2014-02-02: 细节向核心白帽子及相关领域专家公开
2014-02-12: 细节向普通白帽子公开
2014-02-22: 细节向实习白帽子公开
2014-03-08: 细节向公众公开

简要描述:

详细说明:

地址: http://kdweibo.com/home
依次点击: 登陆-->忘记登陆密码
然后登陆邮箱查看重置链接是否存在缺陷

ld01.jpg


上图中可看到,请求链接存在u和t的参数:
尝试数次后可观察到,u是固定不变的,大概是userName相关的串,而t是有规律的递增。
紧接着尝试重置密码的操作,发现u这个参数是无用的,post请求只发送一个t参数和表单中的新密码,如下图:

ld02.jpg


ld03.jpg


好了,现在我们开始研究这个t参数。在找回密码的第一个页面,连续数次提交我的邮箱地址,获取到5个重置密码的链接,把他们列在下面观察一下:

ld04.jpg


可以看出,t参数只有5-8位 和最后4位是会变化的,均是自增,变化幅度跟时间有关,初步判定这个t参数仅是根据服务器的时间戳生成的。
由此,就可以轻易地猜出这个t参数,做个示范:
假设我想重置这个人的密码,他邮箱是target@163.com
而我自己的邮箱是me@163.com,我便可以如此操作:
1.在找回密码的第一个页面,提交我自己的邮箱 me@163.com
2.然后连续提交数次目标者的邮箱 target@163.com
3. 再提交一次 我自己的邮箱 me@163.com
这时我的邮箱变收到一前一后两个t参数:
52df 773f 24ac5b651d28 8d42
52df 774d 24ac5b651d28 8d54
那目标者收到的token 5-8位一定是 7740-774c 后四位范围一定是 8d44-8d52之间的偶数
此时,小试数次便可试出目标者的重置密码链接:

ld05.jpg


重置完密码,自动跳转到目标者的微博主页:

ld06.jpg


漏洞证明:

如上

修复方案:

修复方案:
1. 随机码应该做成不容易发掘,或者加密窜采用动态密钥加密(这样就是别人知道这个随机码的规则也计算不出验证码的值就无法构造 )
2. 重置链接的失效机制可进一步改进。目前收到新重置链接时,旧链接还是有效的。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-01-23 14:20

厂商回复:

已经确认漏洞并修复,谢谢路人甲支持!

最新状态:

暂无


漏洞评价:

评论

  1. 2014-02-18 18:17 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    这个漏洞还是蛮有意思的,mark

  2. 2014-04-23 16:21 | xfkxfk 认证白帽子 ( 核心白帽子 | Rank:2179 漏洞数:338 | 呵呵!)
  3. 2014-04-23 18:41 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    @xfkxfk 嗯,神似。大概都是对密码重置功能中“不可解”的数据进行解读,比以往的流程多往前走了一步,更加震撼!