逻辑漏洞之密码找回

0x00 脑图#

0x01 用户凭证暴力破解#

  1. 验证码的位数:4 or 6,有效时间:1min - 15min
  2. 验证码爆破防护绕过
  3. 纯数字字典生成脚本
 

Copy

import itertools words = "0123456789" r = itertools.product(words, repeat=n) dic = open("", "a") for i in r: dic.write("".join(i)) dic.write("".join("\n")) dic.close()

0x02 返回凭证#

  1. url返回验证码及token
  2. 密码找回凭证在页面中
  3. 返回短信验证码

某app挖洞记录:发送Request,验证码回显在Response

0x03 邮箱弱token#

  1. 时间戳的md5
  2. 用户名
  3. 服务器时间

0x04 用户凭证有效性#

  1. 短信验证码
    获取验证码,尝试修改手机号;修改返回包中的手机号为自己的手机号,尝试获取验证码
  2. 邮箱token
  3. 重置密码token

0x05 重新绑定#

  1. 手机绑定
  2. 邮箱绑定

0x06 服务器验证#

  1. 最终提交步骤
  2. 服务器验证可控内容
  3. 服务器验证逻辑是否为空

某app挖洞记录:未校验验证码,凭据,用户号码的一致性,导致任意用户密码重置

0x07 用户身份验证#

  1. 账号与手机号的绑定
  2. 账号与邮箱账号的绑定

0x08 找回步骤#

某网站挖洞记录:找回密码到了第二步,直接修改mobile参数,可跳过第一步短信验证步骤

0x09 本地验证#

  1. 在本地验证服务器的返回信息,确定是否执行重置密码,但是其返回信息是可控的内容,或者可以得到的内容
  2. 发送短信等验证信息的动作在本地进行,可以通过修改返回包进行控制
  • Intercept Server Responses添加规则如下:

0x10 注入#

0x11 token生成可控#

观察重置密码步骤数据包中字符串,是否和验证身份步骤中的字符串相同。相同-->尝试绕过验证步骤,不同-->尝试token可控。

0x12 注册覆盖#

注册重复的用户名

0x13 session覆盖#

找回密码到了邮箱验证这一步骤,打开邮箱,不要在邮箱点击重置密码的链接,复制链接在同一浏览器打开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值