Skip to content

账户逻辑漏洞

账户通用漏洞

洗号

利用"判断用户是否存在接口",通过市面上的泄漏信息或通过用户名规则构造获取系统真实用户信息。获取到用户信息后可以进行暴力破解或者进行钓鱼攻击。

炸弹攻击

  • 短信炸弹:短信成本;用户投诉后对企业信誉的影响。
  • 邮件炸弹:降低发件邮箱的信誉度(很难上涨)。

传递用户信息请求未使用https

注册场景漏洞

垃圾/批量注册

通过程序或人力注册大量的非活跃用户,这些用户不能给企业带来收益,却在一定程度上增加了企业的运营成本。除此之外,这些用户可能给用户带来部分收益,比如:活动优惠、刷单等等。

  • 手机墙真人操作:
  • 脚本批量注册:
  • 模拟器注册:

任意账号注册

  • 不校验用户信息(只需要用户输入手机号或邮箱即可注册成功);
  • 用户信息与校验凭证未绑定;

注册覆盖原有用户

低版本的MySQL可以复现

账户:zhangsan 与 zhangsan (zhangsan后面有N个空格) 两个账户在数据库中表现为同一个账户。

登录场景漏洞

登录文案漏洞

登录错误提示过于清晰,导致攻击者更方便攻击用户。

登录前端校验

校验结果可控。

暴力破解

通过洗号获取用户信息,采用字典的形式对用户的密码进行暴力猜解。

  • 不存在任何其它的安全防护措施;
  • 存在验证码:验证码的逻辑漏洞导致的暴力破解;

恶意锁定

密码错误多次后锁定账户,需要通过人工手段解锁。

session与cookie问题

  • 用户每次登录的session或cookie是唯一的一个值;
  • 用户退出登录,但是session或cookie不失效;
  • session会话存活时间过长;
  • session或cookie结构太简单,容易被伪造;

垂直越权访问后台页面

后台部分页面不需要经过鉴权即可登录。

找回密码逻辑错误

  1. 输入用户信息
  2. 获取用户凭证,并且校验用户凭证
  3. 重置密码
  4. 重置成功登录

前端校验凭证

校验结果可控从而导致任意账号密码重置。

找回密码凭证暴力破解

攻击者在校验用户凭证时,由于凭证过于简单或者失效时间过长甚至不失效的问题从而对凭证进行暴力破解。

凭证返回错误

凭证信息返回在response的数据包中,或者直接以URL的形式返回。

凭证信息与用户信息不绑定

由于凭证未与用户信息绑定,导致可以用B用户的凭证信息来校验A用户,从而导致B重置了A用户的密码。

邮箱重置密码容易出现弱token

  • unix时间戳token;
  • 用户名或者用户名+其它信息生成的token;
  • 使用md5或者base64编码生成的token;
  1. 在A用户重置密码进行到第三步时,不关闭页面;
  2. 新建一个tab页面,重置B用户的密码,进行到第二步,也不要关闭页面;
  3. 刷新第一个页面,这个时候页面上显示重置的就是B用户的密码,从而达到A用户重置了B用户的密码;

找回步骤上下文越权

直接跳过第二步校验用户与凭证的过程。

万能校验码

  • 000000
  • 111111
  • 666666
  • 888888

越权修改、查看、删除用户信息漏洞

实名认证漏洞

  • 仅进行姓名域身份证号核对:最基础的认证手段,由于大量的身份信息泄漏,此种验证已经不具备什么意义了。
  • 身份证图片上次核对:单一上次身份证照片没有什么大用,反而容易造成图片信息泄漏。需要通过其它辅助手段来验证图片的真实性。
  • 银行卡绑定核对:相对而言安全等级较高,但是目前黑市上有成套的用户信息出售,包括:身份证、银行卡、照片等信息。
  • 人脸识别核对:人脸识别精度较低;利用修图技术绕过人脸识别;相像的人可以绕过人脸识别。