• 逻辑漏洞之密码找回总结


    逻辑漏洞之密码找回总结

    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("
    "))
    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覆盖

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

  • 相关阅读:
    死信队列消息原因排查
    MQ中间件死信队列深度不断增加问题解决案例
    DB2 57016报错的解决办法(表状态不正常,导致表无法操作)
    万门大学--童哲
    eclipse jvm配置
    weblogic threadpool has stuck threads
    8-10 ObserveableCommand演示
    8-9 四种执行方式区别讲解
    8-8 toObserve两种形态演示
    8-7 Observe两种形态演示
  • 原文地址:https://www.cnblogs.com/mark-zh/p/10060300.html
Copyright © 2020-2023  润新知