任意密码重置漏洞(身份认证缺失)

2022-11-02 15:40:08 浏览数 (1)

前言

持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。

0x01 漏洞描述

- 任意密码重置 -

逻辑设计缺陷是由于应⽤在最初设计时由于未考虑全⾯,在登录、注册、找回密码、⽀付模块中程序的判断逻辑及程序的处理流程上存在缺陷,导致攻击者可以绕过程序的处理流程,从⽽达到特定的⽬的,如暴⼒破解密码,任意⽤户注册、任意用户登录、任意密码重置及各种⽀付漏洞。

0x02 漏洞等级

0x03 漏洞验证

访问重置密码页面,输入存在的手机号用户和任意密码进行重置密码。

该系统重置密码功能,没有对手机号账户的持有者进行身份验证(例如:短信验证码验证),重放数据包即可成功重置任意用户密码。

0x04 漏洞修复

  1. 对客户端提交的修改密码请求,应对请求的用户身份与当前用户的手机号身份进行校验,判断是否有权修改用户的密码。
  2. 对短信验证码的过期时间以及提交次数进行限制,防止短信验证码被暴力破解。
  3. 不应将用于接收验证信息的手机号等信息全部明文传到客户端,应对手机号等信息进行屏蔽处理,或不将此类信息返回到客户端。
  4. 输入手机号和短信验证码进行重置密码时,对该短信验证码、账号及手机号做统一严格校验。

0 人点赞