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

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

缺陷编号:wooyun-2014-074661

漏洞标题:陌陌科技一处验证码绕过

相关厂商:北京陌陌科技有限公司

漏洞作者: lijiejie

提交时间:2014-09-01 18:53

修复时间:2014-10-16 18:54

公开时间:2014-10-16 18:54

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

危害等级:低

自评Rank:3

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

陌陌的一处验证码绕过,一开始以为是big cake,后来测试发现利用有些鸡肋,后端服务器会封IP的

详细说明:

从http://www.immomogame.com/mmzb/ 下载陌陌争霸游戏的Android版,反编译之后在MDKWebLoginActivity.java中找到两个URL:
https://game.immomo.com/register/?action=loginHorizontalPage
https://game.immomo.com/register/?action=loginPage

momo_loginURL.png


登录错误两次之后页面会出现验证码,然而该验证码并不过期,可以反复提交,并且可以改变陌陌号和密码后再次提交,接口不带sign签名等额外的校验。
密文为一次MD5,由此可初步猜测,陌陌在数据库中保存了用户的明文密码,或一次MD5。
登录的POST请求为:
POST https://game.immomo.com/register/?action=login&uname= HTTP/1.1
username={陌陌号}&password={密文一次MD5}&appid=null&redirect_uri=null&sign=null&client=null&verifycode=ncp3
陌陌号是手机号码。
提交登陆请求时固定Cookie中的verify值,以及参数中的verifycode值即可。
初步猜测,后端是简单的对参数加盐MD5或多次MD5计算,最终对比计算结果和Cookie中verify的值是否匹配。
这样的验证码是可直接绕过的,因为它跟用户名、密码都无关联。
登录失败的提示是:"账号或密码错误"
登录成功的提示是: “应用信息错误”,因为参数APPid被设为了null

漏洞证明:

直接在那网页上多点击几下就可以看到了。

修复方案:

1. 解决验证码不过期,绕过问题
2. APP的登陆最好是加上sign签名验证,常见HMAC_SHA1,预防攻击者轻易地非法篡改请求

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2014-09-01 19:57

厂商回复:

多谢提醒,修复中。

最新状态:

暂无