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

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

缺陷编号:wooyun-2013-047145

漏洞标题:猥琐方式再次重置拉手网用户密码

相关厂商:拉手网

漏洞作者: niliu

提交时间:2013-12-27 11:32

修复时间:2014-02-10 11:33

公开时间:2014-02-10 11:33

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

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

利用某处设计不当,猥琐方式加组合技能重置拉手网用户密码!

详细说明:

之前利用手机验证码爆破的方式重置过一次,经过拉手网的修补后,发现利用某处设计不当,组合技能依然可以重置密码。
重置密码的具体思路,首先我先正常找回自己的密码测试,选择邮箱找回密码,几秒钟后收到一封重置密码的邮件,链接如下:

http://lashou.com/account/reset?code=MTg2***5Mjg0MDR8bml***wNjIzfDU0MzAwNTc5MkBxcS***18MTM4ODEwNzg3NnxkNTdhOG****MzYyZjI4MzVmMTE4MWYx***yMDc0Yw%3D%3D


重置密码的关键是这段code代码,一眼看出是base64编码,解码后得到如下信息:

18*******04|nili***3|54******[email protected]|1388107876|d57a8aaa3a36****5f1181f1282074c


格式为

手机号|用户名|邮箱|unix时间戳|未知但固定的md5


假如我们想重置密码就必须满足以上条件,那么怎么通过一个用户名来收集这么多的信息呢?
经过反复测试分析,再用户名找回密码的地方有一个地方设计不当,导致泄露用户邮箱和那个未知但固定的md5,unix时间戳也可以根据找回密码请求的头信息里获得的时间转换得到,那么现在用户名,邮箱,时间戳,md5都有了,如果再有手机号通过排序信息,base64编码,url编码,组合连接不就可以重置密码了么?
先看一下找回密码处的信息泄露:
找回密码页面

http://lashou.com/account/resetreq


我就随便写个用户(liu)来测试一下

liu.jpg


打开firebug,选择网络然后点“找回密码”如下图:

222.jpg


经过仔细查看,发现在请求信息里面的响应里面,“重发一封邮件”处泄露了一处信息:

('NjAzNzI5MTQxQHFxLmNvbQ==','c3225eb1784cc67b464acdd89beab0d3')


前面的base64解码为用户邮箱:[email protected]

1去.jpg


经过对自己账号的测试进行对比,发现此处md5就是找回密码连接中的那个md5。
再看看时间戳,在请求的头信息中看下时间,为 Date Fri, 27 Dec 2013 02:43:01 GMT

2我.jpg


这里的小时需要加上8小时,也就是 (Fri, 27 Dec 2013 10:43:01)然后转换一下即可得到时间戳 (1388112181)

3额.jpg


现在利用用户名找回密码得到了邮箱,时间戳,md5,接下来只要知道手机号就可以了。
那么怎么得到手机号呢,还真是个问题,遍历分站,wap站找回密码,遗憾的是没有找到可利用的地方,换个思路,其实知道用户名,邮箱(而且是qq邮箱)想知道手机号其实并不难,百度,谷歌,甚至社工库,通过用户名,qq得到手机号几率还是比较大的。这里我就不花时间去社工了。
这里我就利用拉手网自己泄露给我的信息来测试吧。
拉手网的抽奖活动结果会在官网上公开发布。
谷歌一下:

site:lashou.com 手机号 中奖结果


0.jpg


出来一堆,其中有一些页面由于编辑疏忽,忘记打码处理了。
链接:

http://www.lashou.com/event/lottery.php?id=7348817&act=result


2.jpg


mishzswtion 	15236805255
易成利 18320960258
方空绝 18705592243


那我就那他们测试了。
利用上面说的方法,重置用户(mishzswtion)
首先先以用户名找回密码,获取到邮箱,md5,时间戳等信息。

4R.jpg


MzE0OTQ1ODEyQHFxLmNvbQ==','a12e98856f0cbdffd29d0e27663578c5'


MzE0OTQ1ODEyQHFxLmNvbQ==解密邮箱为:[email protected]
Fri, 27 Dec 2013 03:01:31 GMT 加8小时转换unix时间戳为:1388113291
用户名手机号已知信息,组合得到

15236805255|mishzswtion|[email protected]|1388113291|a12e98856f0cbdffd29d0e27663578c5


base64编码得到:

MTUyMzY4MDUyNTV8bWlzaHpzd3Rpb258MzE0OTQ1ODEyQHFxLmNvbXwxMzg4MTEzMjkxfGExMmU5ODg1NmYwY2JkZmZkMjlkMGUyNzY2MzU3OGM1


组合密码重置连接得到:

http://lashou.com/account/reset?code=MTUyMzY4MDUyNTV8bWlzaHpzd3Rpb258MzE0OTQ1ODEyQHFxLmNvbXwxMzg4MTEzMjkxfGExMmU5ODg1NmYwY2JkZmZkMjlkMGUyNzY2MzU3OGM1


访问即可重置用户密码

HAHA.jpg


HAHAHA.jpg


登陆一下测试

mishzswtion.jpg


mishzswtion2.jpg


成功登陆。

漏洞证明:

mishzswtion

mishzswtion.jpg


mishzswtion2.jpg

修复方案:

屏蔽“再发一封邮件”处的信息泄露。
求20rank!

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2013-12-31 10:03

厂商回复:

我通知开发修补,感谢!

最新状态:

暂无