逻辑漏洞之密码找回总结

逻辑漏洞之密码找回总结

0x00 脑图

1550441-20181203191042275-944286119.png

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

1550441-20181203191105807-1454975506.jpg

0x03 邮箱弱token

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

0x04 用户凭证有效性

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

0x05 重新绑定

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

0x06 服务器验证

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

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

1550441-20181203191125956-384347942.jpg

0x07 用户身份验证

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

0x08 找回步骤

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

1550441-20181203191143457-1042340325.jpg

0x09 本地验证

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

1550441-20181203191153581-1018056824.jpg

0x10 注入

0x11 token生成可控

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

0x12 注册覆盖

注册重复的用户名

0x13 session覆盖

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

转载于:https://www.cnblogs.com/mark-zh/p/10060300.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值