重置密码功能是为了用户可以在忘记密码时重新设置账号凭证的一个有效途径,其本身并未安全问题,但是在重置密码中的验证机制不够完善也就造成了问题的出现,其最主要的原因是用户名,辅助凭证,辅助验证码没有进行统一验证。其可以导致用户账号丢失、信息丢失、财产损失等,对企业来讲,任意账号重置的漏洞将会丢失大量数据,失去用户信任,严重妨碍企业业务,带来巨大的财产损失。
密码重置流程
重置密码的过程,是证明身份并重新设置登录凭证的过程
Step 1:输入账号名以及注册账号时预留的辅助验证凭证(手机号/邮箱)
Step 2:后端服务向该用户绑定的手机号/邮箱等发送验证码,或重置连接(重置连接为了安全性一般具备时效性)
Step 3.0:用户输入验证码,证明操作者是账号所有者,后端进行重置密码
Step 3.1:用户使用重置连接,证明操作者是账号所有者,后端进行重置密码
常见问题汇总
任意验证码发送
当程序发送短信时没有将手机号/邮箱与账号进行匹配,就会导致任意验证码发送问题,攻击者可以用自己手机号码、邮箱收到的重置用验证码,用以重置其它用户的密码。或者利用此功能进行短信轰炸。
严重程度
中
测试方法
使用与账号不匹配的手机号/邮箱尝试接收验证码,查看是否接收成功,如果成功则存在问题。
修复建议
发送短信验证码时需要
出现阶段:Step 2:后端服务向该用户绑定的手机号/邮箱等发送验证码,或重置连接(重置连接为了安全性一般具备时效性)
任意重置连接发送
当程序发送重置连接时没有将手机号/邮箱与账号进行匹配,就会导致重置连接发送问题,攻击者可以用自己手机号码、邮箱收到的重置连接,用以重置其它用户的密码。或者利用此

文章讨论了密码重置过程中存在的验证不足问题,如任意验证码发送、重置连接发送和身份验证缺失,可能导致账号安全风险。提供了解决方案,包括验证用户绑定凭证和加强重置连接的安全措施。
最低0.47元/天 解锁文章
4476

被折叠的 条评论
为什么被折叠?



