逻辑漏洞之密码找回总结

逻辑漏洞之密码找回总结

0x00 脑图

0x01 用户凭证暴力破解

  1. 验证码的位数:4 or 6,有效时间:1min - 15min
  2. 验证码爆破防护绕过
  3. 纯数字字典生成脚本
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覆盖

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

猜你喜欢

转载自www.cnblogs.com/mark-zh/p/10060300.html