15 常见漏洞 密码找回漏洞

转载文章: https://cloud.tencent.com/developer/article/1694570

月师傅讲解的密码找回漏洞我觉得并不是很全面

所以我去查了一些资料希望把这个大的逻辑漏洞的板块写全面点

以下大部分东西都是抄的

 

密码找回漏洞:可以修改他人的密码甚至管理员的密码就叫密码找回漏洞

 

漏洞寻找流程:

首先尝试正常找回密码的流程,选择不同的找回方式,记录所有数据包

分析数据包,找到敏感部分

分析后台找回机制所采取的验证手段

修改数据包验证推测

 

可能产生漏洞的情况

验证码有效期内可爆破或者请求次数没有限制

直接将验证内容返回给用户,如token(月师傅讲解的就是这个方案)

找回密码功能进行身份验证内容未加密或加密算法较弱

对用户身份的验证在前端进行,导致抓包绕过

在最后一步修改密码时没有校验账号是否通过了验证

 

手段

用户凭证暴力猜解

用户凭证太弱,如四位或六位的纯数字

即使不知道也可以爆破猜解

 

返回凭证

url返回验证码以及token(找回密码凭证发到邮箱中,url中包含用户信息以及凭证,但是这个凭证可以重置任何用户)

密码找回凭证在页面中(密保找回密码的答案在源代码中)

返回短信凭证

 

邮箱弱token

时间戳 md5

用户名

服务器时间

 

重新绑定

可以让任意用户绑定上自己可控的手机号

 

服务器验证

最终提交步骤

服务器验证可控内容(在最后重置密码出跟随一个用户ID,改成其他用户ID,即可修改其他用户的密码)

 

跳过步骤

可以直接跳到设置新密码的页面

 

本地验证

发送短信的验证信息在本地进行,可以通过修改返回包控制发送验证码的手机

在本地验证服务器的返回信息,确定是否执行重置密码,但是对其返回的信息是可控的内容,或者可以得到内容

(密码找回凭证在客户端获取,在密码找回时注意抓包查看所有url返回响应,看是否有最终的凭证出现,这样就可以绕过手机或者安全邮箱了)

 

注入

查看是否存在sql注入

 

Token生成

Token生成前端可控

 

注册覆盖

注册重复的用户(比如注册A,返回用户已经存在,把已经存在的状态改为可注册,填写信息提交注册,就可以覆盖A账号)

 

验证码未绑定用户

输入自己的手机号接受验证码,提交时拦截包,把自己的改为其他人的账号进行测试,成功重置他人的密码

 

posted @ 2022-03-11 14:54  r0nGer  阅读(321)  评论(0)    收藏  举报