漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0120093
漏洞标题:黑魔法系列-我是如何重置V电影主站任意用户密码的
相关厂商:vmovier.com
漏洞作者: 黑暗游侠
提交时间:2015-06-15 11:25
修复时间:2015-07-30 17:26
公开时间:2015-07-30 17:26
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-06-15: 细节已通知厂商并且等待厂商处理中
2015-06-15: 厂商已经确认,细节仅向厂商公开
2015-06-25: 细节向核心白帽子及相关领域专家公开
2015-07-05: 细节向普通白帽子公开
2015-07-15: 细节向实习白帽子公开
2015-07-30: 细节向公众公开
简要描述:
希望能获得6月洞主演艺最佳思路漏洞入选名额
详细说明:
又去重温了一遍多啦A梦,看到了v电影视频门户
习惯使然了,顺手测试一下,找到了黑魔法,快修复吧
忘记密码:
http://www.vmovier.com/user/forgetpwd
填上任意用户的邮箱,然后发送,先来看一下原装的重置链接是什么
访问以下
自动重置了新的密码,如图:
链接很简单,问题一目了然,控制了 token 就控制了整个重置机制
那么
看 token
f321cd2871eac182554f78ab6b3bb9c3
what is this ?
经过多次测试验证,这里直接给出答案:
时间戳是服务端接收数据包并处理的时候的瞬间时间戳
格式为unix格式
笑话,服务端处理的瞬时时间我们怎么知道,难道只有对某几十秒内进行fuzzing么?
no
这里还存在一个tmpkey,tmpkey的时间戳来自当前数据包的时间戳,更重要的是,这串时间戳包含在cookie里可以直接获取
服务端验证机制应该类似是:
来实际看一下对比:
正常发送的邮件数据包,可以看到cookie里的时间戳为:
1434110820
md5加密后:
20fcfdec4985c7f81cfe359a5f792377
再来看实际收到的邮件token:
看到了吧,实际上是有两个key的
即使我们无法计算出正常流程获得的邮件中的token,但是我们可以直接获取post包中的当前时间戳,加密后放到如下链接:
然后访问之,即可直接重置密码:
========================================================
那么黑魔法在哪?
key是我们控制的,包括加密的哈希原型
我们可以自己自定义想要的任何key
自定义一个时间,2008-1-1 1:1:1 转换成unix如下:
当然这个时间可以是你的生日,是开国大典,是多啦A梦刚认识大雄的日期。。。
复制下来,然后再次找回密码,替换掉数据包里的时间戳。。。
1199120461
md5加密后得到:
直接访问:
多么简单实用的黑魔法,秒杀一切用户
漏洞证明:
修复方案:
20rank吧,写了那么多
版权声明:转载请注明来源 黑暗游侠@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:16
确认时间:2015-06-15 17:24
厂商回复:
非常感谢发现这个重要bug,已经修复
最新状态:
暂无