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

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

缺陷编号:wooyun-2015-0131140

漏洞标题:v2ex社区可重置用户密码

相关厂商:V2EX社区

漏洞作者: 生鲜一手

提交时间:2015-08-02 20:22

修复时间:2015-09-16 21:00

公开时间:2015-09-16 21:00

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

利用通过电子邮件重设密码,可在知道用户名及注册邮箱的情况下重置任意用户密码

详细说明:

点击忘记密码,会要求输入用户名及注册邮箱

2.png


输入点击找回密码会收到一份邮件

3.png


可以看到重置密码的链接是由htts://www.v2ex.com/reset/ + unix时间戳通过md5加密的
所以可以构造重置链接

漏洞证明:

4.png


5.png


构造重置链接,访问。。。

6.png


搞完收工

7.png


没去弄管理员的账号。。那画面太美,怕被livid打

修复方案:

对不起,我背叛了v2
你们更懂,我只是小菜

版权声明:转载请注明来源 生鲜一手@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-08-02 20:59

厂商回复:

我自己都震惊了,当年是怎么写出那么白痴的代码来的,谢谢路人甲大神拯救!
已经堵上。

最新状态:

2015-08-02:感谢路人甲大神的帮助。目前这个问题已经做了如下修复:1. 替换了这个字符串的生成方式,目前使用的是随机 UUID2. 之前所有的旧的字符串已经全部删除这个事情对于我来说是重要的一课。我会把这些部分在几年前的设计现在再重新审核一遍。谢谢!


漏洞评价:

评论

  1. 2015-08-02 20:23 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:17 | 当我又回首一切,这个世界会好吗?)

    @Livid

  2. 2015-08-02 20:30 | DloveJ ( 普通白帽子 | Rank:1107 漏洞数:125 | <a href=javascrip:alert('xss')>s</a> 点...)

    前排围观

  3. 2015-08-02 21:38 | popok ( 普通白帽子 | Rank:117 漏洞数:21 | nothing)

    自己都震惊啦,哈哈

  4. 2015-08-02 21:40 | 番茄师傅 ( 普通白帽子 | Rank:254 漏洞数:59 | http://www.tomatoyu.com/)

  5. 2015-08-02 22:43 | M4sk ( 普通白帽子 | Rank:1199 漏洞数:283 | 国内信息安全任重而道远,还需要厂商和白帽...)

    自己都震惊啦

  6. 2015-08-02 23:11 | theone ( 路人 | 还没有发布任何漏洞 | hodor,hodor)

    我自己都震惊了

  7. 2015-08-02 23:20 | niliu 认证白帽子 ( 核心白帽子 | Rank:1542 漏洞数:189 | 逆流而上)

    卧槽...v2ex

  8. 2015-08-03 08:19 | 啊L川 ( 普通白帽子 | Rank:195 漏洞数:37 | 菜鸟 ,菜渣, 菜呀!)

    我自己都震惊了

  9. 2015-09-16 21:12 | Bird ( 实习白帽子 | Rank:60 漏洞数:24 | Stay hungry. Stay foolish.)

    V2EX ...

  10. 2015-09-16 21:17 | 聆听 ( 路人 | Rank:8 漏洞数:3 | why are you so diao !)

    好屌。厂商也很屌~

  11. 2015-09-16 21:18 | Hex ( 路人 | Rank:18 漏洞数:9 | Do you know what is worth fighting for?)

    我自己都震惊了

  12. 2015-09-16 22:05 | BeenQuiver ( 普通白帽子 | Rank:101 漏洞数:26 | 专注而高效,坚持好的习惯千万不要放弃)

    卧槽,这代码写的也真是敷衍了事

  13. 2015-09-16 22:24 | yangff ( 路人 | Rank:1 漏洞数:1 | 介绍写什么呢?)

    眼神真好

  14. 2015-09-16 22:53 | Blackeagle ( 实习白帽子 | Rank:62 漏洞数:10 | 向WooYun致敬)

    卧槽,这思路。。。

  15. 2015-09-17 09:06 | 有归于无 ( 实习白帽子 | Rank:84 漏洞数:14 | 有归于无)

    具体的时间点是怎么知道的啊?

  16. 2015-09-17 15:22 | popok ( 普通白帽子 | Rank:117 漏洞数:21 | nothing)

    @有归于无 response headers 里有服务器返回的时间:HTTP/1.1 200 OKDate: Thu, 17 Sep 2015 07:20:17 GMTContent-Type: text/html; charset=UTF-8Transfer-Encoding: chunked不过这个时间可能和后台生成时间戳有点误差,但是我猜不会超过2秒。不过现在也没法验证了

  17. 2015-09-17 16:18 | 有归于无 ( 实习白帽子 | Rank:84 漏洞数:14 | 有归于无)

    @popok 明白了,感谢