逻辑漏洞挖掘之密码找回重置

逻辑漏洞分类

逻辑漏洞

主要包含但不限于以下几种:

  • 任意密码修改
  • 越权访问
  • 密码找回
  • 交易支付
  • 撞库登录等
支付
  • 金额运费修改
  • 修改bxprice,可改成任意负数金额数量
  • 请求重放,多次下单
  • 并发 (数据库操作加锁)
  • 参数污染 请求没该参数,却返回该参数,可请求该参数污染返回值

参考

支付逻辑漏洞

越权逻辑漏洞

横向越权访问漏洞

  指两个权限平级的的用户之间越权访问,又叫水平越权。如A可以对自己的信息增删改查,在编写代码时没有对增删改查的对象进行身份核对,导致用户A可以对B用户的数据进行增删改查。

重向越权访问漏洞

   指权限不等的两个用户之间的越权访问,又叫垂直越权漏洞。如A是普通用户身份,由于代码设计缺陷,导致A可以访问到会员或者管理员的数据。

---------------------------------------------------手动分割线--------------------------------------------------------------

密码找回漏洞

常用工具是  burpsuite

密码找回逻辑漏洞测试一般流程

  • 首先尝试正常找回密码流程,选择不同的找回方式,记录所有的数据包
  • 分析数据包,找到敏感的数据
  • 分析后台数据包找回流程所采用的的验证手法
  • 观察各个参数猜测其作用
  • 修改数据包验证猜想

密码找回逻辑漏洞常见以下逻辑测试点

1.用户凭证暴力破解 当为4位或者6位寸数字时

2.返回凭证

  2.1url返回验证码及token

  2.2密码找回凭证在页面中

  2.3返回短信验证码

3.邮箱弱token

  3.1时间戳的MD5

  3.2用户名

  3.3服务器时间

4.用户凭证有效性

  4.1短信验证码

  4.2邮箱token

  4.3重置密码token

5.重新绑定

  5.1 手机绑定 使用小号测试

  5.2 邮箱绑定

6.服务器验证

  6.1 最终提交步骤

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

  6.3 服务器验证逻辑为空

7.用户身份验证

  7.1 账号与手机号码的绑定

  7.2 账号与邮箱账号的绑定

8.找回步骤

  8.1 跳过验证步骤、找回方式,直接到设置新密码页面

9.本地验证

  9.1 在本地验证服务器的返回信息,确定是否执行重置密码,但是其返回的信息是可控的内容,或者可以得到的内容(密码找回凭证在客户端获取,在密码找回时注意抓包查看所有url返回响应等,看是否有最终的凭证出现,这样就可以绕过手机或者安全邮箱了)

  9.2 发送短信等验证信息的动作在本地进行,可以通过修改返回包进行控制

10.注入

  10.1 在找回密码出存在注入漏洞

11.Token生成

  11.1 Token生成可控

12.注册覆盖

  12.1 注册重复的用户名

13.session覆盖

14.推荐文章

任意用户密码重置(一):重置凭证泄露

任意用户密码重置(二):重置用户凭证端可以篡改

任意用户密码重置(三):用户混淆

任意用户密码重置(四):重置凭证未校验

任意用户密码重置(五):重置凭证可以爆破

任意用户密码重置(六):应答中存在影响后续逻辑的状态参数

任意用户密码重置(七):Token可预测

参考

1.任意用户密码重置系列文章

2. 密码找回逻辑漏洞

未来工作

细化工作,附上截图

仅作为记录总结,内容来自可爱的网友。

持续更新总结

猜你喜欢

转载自www.cnblogs.com/Rightsec/p/10365531.html