v2ex社区可重置用户密码

漏洞概要

缺陷编号:WooYun-2015-0131140

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

相关厂商:V2EX社区

漏洞作者:生鲜一手

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

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

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

Tags标签:

漏洞详情

披露状态:

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

简要描述:

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

详细说明:

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

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

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

漏洞证明:

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

搞完收工

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

修复方案:

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

漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-08-0220:59

厂商回复:

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

最新状态:

2015-08-02:感谢路人甲大神的帮助。

目前这个问题已经做了如下修复:

1. 替换了这个字符串的生成方式,目前使用的是随机 UUID

2. 之前所有的旧的字符串已经全部删除

这个事情对于我来说是重要的一课。我会把这些部分在几年前的设计现在再重新审核一遍。

谢谢!

评价

  1. 2010-01-01 00:00 xsser 白帽子 | Rank:152 漏洞数:17)

    @Livid

  2. 2010-01-01 00:00 DloveJ 白帽子 | Rank:731 漏洞数:64)

    前排围观

  3. 2010-01-01 00:00 popok 白帽子 | Rank:82 漏洞数:19)

    自己都震惊啦,哈哈

  4. 2010-01-01 00:00 番茄师傅 白帽子 | Rank:169 漏洞数:16)

  5. 2010-01-01 00:00 M4sk 白帽子 | Rank:783 漏洞数:96)

    自己都震惊啦

  6. 2010-01-01 00:00 theone 白帽子 | Rank:0 漏洞数:0)

    我自己都震惊了

  7. 2010-01-01 00:00 niliu 白帽子 | Rank:1384 漏洞数:141)

    卧槽...v2ex

  8. 2010-01-01 00:00 啊L川 白帽子 | Rank:136 漏洞数:15)

    我自己都震惊了

  9. 2010-01-01 00:00 Bird 白帽子 | Rank:40 漏洞数:5)

    V2EX ...

  10. 2010-01-01 00:00 聆听 白帽子 | Rank:8 漏洞数:3)

    好屌。厂商也很屌~

  11. 2010-01-01 00:00 Hex 白帽子 | Rank:10 漏洞数:1)

    我自己都震惊了

  12. 2010-01-01 00:00 BeenQuiver 白帽子 | Rank:50 漏洞数:6)

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

  13. 2010-01-01 00:00 yangff 白帽子 | Rank:1 漏洞数:1)

    眼神真好

  14. 2010-01-01 00:00 Blackeagle 白帽子 | Rank:62 漏洞数:10)

    卧槽,这思路。。。

  15. 2010-01-01 00:00 有归于无 白帽子 | Rank:49 漏洞数:5)

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

  16. 2010-01-01 00:00 popok 白帽子 | Rank:82 漏洞数:19)

    @有归于无

    response headers 里有服务器返回的时间:

    HTTP/1.1 200 OK
    Date: Thu, 17 Sep 2015 07:20:17 GMT
    Content-Type: text/html; charset=UTF-8
    Transfer-Encoding: chunked
    不过这个时间可能和后台生成时间戳有点误差,但是我猜不会超过2秒。
    不过现在也没法验证了

  17. 2010-01-01 00:00 有归于无 白帽子 | Rank:49 漏洞数:5)

    @popok 明白了,感谢