业务逻辑漏洞

概念

设计漏洞而非实现漏洞,是业务逻辑设计不严谨导致的,没有明显的攻击特征,难以扫描发现,也难以用安全设备防护

分类

绕过验证

主要指身份验证体系设计存在缺陷,可使用技术手段绕过验证机制冒用他人身份

弱口令
  • 漏洞成因:
    1. 常用口令:abc、123456、admin等
    2. 纯数字、纯字母且长度小于6
    3. 在允许社会工程学攻击情况下,密码中带有个人信息的
    4. 键盘顺序设置的
    5. 企业、CMS及系统服务的默认口令
  • 避免漏洞:弱口令判定后,引导强制修改为强口令
暴力**
  • 概念:利用大量猜测和穷巨大方式尝试用户口令。撞库是利用特定弱口令批量尝试可能的用户名
  • 漏洞成因:
    1. 无图片验证码
      4-1业务逻辑漏洞
      4-1业务逻辑漏洞
      4-1业务逻辑漏洞
    2. 不安全的图片验证码(前端后端验证不过期)
    3. 无错误锁定机制(没限制输错几次锁定)
    4. 错误提示过于详细
    5. 短信验证码过短或去错误锁定机制
  • 避免漏洞:
    1. 图片验证码每次都刷新,使用成功就失效
    2. 提供账户锁定功能
    3. 短信验证码大于6位,并且也做锁定功能
    4. 增加token机制
客户端验证
  • 将用户的身份验证信息直接返回给用户进行校验,可通过截取身份验证信息来通过验证
  • 将身份验证结果返回客户端,由客户端根据结果进行下一步的操作,可通过篡改验证结果
任意密码重置
  • 漏洞成因:
    1. 密码重置问题太简单
    2. 密码重置链接可猜测
    3. 关键参数可修改
    4. 密码重置过程的暴力**、越权访问、客户端验证
  • 避免漏洞:
    1. 所有验证在服务端进行,验证问题的大难不能以任何形式返回给用户
    2. 验证结果即下一步跳转操作由服务端执行
    3. 采用连续身份验证机制
    4. 验证码只能发送到预设的手机号或邮箱,并且设置有效期
越权访问
  • 权限控制功能不严谨,使得用户可以访问或操作未授权的功能或数据
  • 避免漏洞
    • 采用成熟的权限管理框架
    • 用户访问操作的凭证,并且以表单或其他参数提交
    • 尽量不对互联网开放或者访问控制
水平越权
  • 以某用户身份访问相同权限的其他用户信息。
  • 分为基于身份标识、基于订单号、基于文件名
垂直越权
  • 以某用户身份访问更高权限的其他用户信息。
  • 分为基于cookie、基于链接
交易漏洞
参数篡改
  • 篡改金额
  • 0数逻辑
  • 负数逻辑
重放攻击
  • 客户端校验
  • 开放端口
流程漏洞
  • 退货流程
其他漏洞
短信炸弹

漏洞挖掘思路

暴力**漏洞挖掘
  1. 浏览应用,发现登录并且没有验证码
  2. 用错误的账号密码登录多次,测试没有锁定机制,抓包进行暴力**
绕过验证漏洞挖掘
  1. 浏览应用,发现有密码重置功能。可能存在
  2. 抓包跟踪重置流程,发现校验环节出现关键字success,可能存在客户端验证
  3. 抓包,跟踪尝试重置某个未知账号的密码,并且修改服务端返回的关键字,重置密码成功
越权访问漏洞挖掘
  1. 浏览应用,发现订单查询功能订单生成有规律,可能存在
  2. 抓包跟踪订单查询流程,记录请求包
  3. 抓包遍历订单编号,发现可查看他人的订单
交易篡改漏洞挖掘
  1. 浏览应用,发现存在交易功能
  2. 抓包跟踪交易流程,发现价格是客户端提交的,并对价格篡改
漏洞网站
  • 漏洞盒子
交易篡改漏洞挖掘
  1. 浏览应用,发现存在交易功能
  2. 抓包跟踪交易流程,发现价格是客户端提交的,并对价格篡改
漏洞网站
  • 漏洞盒子
  • 补天

相关文章: