- 实现业务功能的逻辑不严谨导致的漏洞
-  业务流程分类- 用户身份验证
 - 会话管理
 - 角色和权限识别
 - 资源访问
 - 交易和支付
 - 密码重置和安全设置
 - 日志记录和审计
 - url参数 - 某些参数可以表示用户权限(身份)
 
 - http请求头 - 用户身份验证信息存在请求头部中的 Authorization字段中
 
 - http请求正文
 - Cookies
 - 数据库记录
 - 服务器端会话状态
 - 客户端状态
 - 日志文件
 - 后端应用程序代码
 - 前端应用程序代码
 
-  逻辑漏洞危害性标准- 数据泄露和隐私问题 - 数据保护措施不到位导致的用户数据的泄露
 
 - 未授权访问 - A能看到B、C等用户的一些信息;如订单信息等
 
 - 金融损失
 - 合规性问题 - 数据保护问题可能会导致公司被起诉;安全性法规
 
 - 业务中断 - 业务功能中断;无法访问该业务功能;用户可能流失
 
 - 拒绝服务 - 服务器宕机;无法访问
 
 - 恶意行为和欺诈 - 公司损失,名誉受损
 
 - 声誉损失
 - 长期存在和影响 - 长期不安全因素的存在会导致用户的流失
 
 - 难以检测 - 逻辑漏洞的产生没有具体的标准,因此难以检测
 
 
- 数据泄露和隐私问题 
-  漏洞挖掘思路- 边界条件测试 - 购物车数量使用负数或超过最大值进行测试;看是否有数量检测漏洞
 
 - 交叉验证 - 删除帖子后快速恢复帖子,查看帖子状态是否有改变
 
 - 颠倒顺序 - 对于选择有先后顺序要求的,如订票先选定日期后选定座位
 
 - 重复操作 - 重复投票
 
 - 越权操作 - 通过低权限账号实现了高权限账号的操作
 - 如医生账号可以看患者病历,登入患者账号可以尝试查看其他患者病历,如果可以则存在越权漏洞
 
 - 并发操作 - 多用户购买同一商品(超出库存),查看是否会因为库存不一致导致出错
 
 - 审查业务逻辑代码 - 代码审计的内容,通过代码查看逻辑;
 - 如在线投票程序;投票结束了依然能够投票
 
 
- 边界条件测试 
-  身份验证问题-  验证码- 类型 -  图片验证码- 滑动验证码、普通图片验证码、数字算法验证码等
 - 随机性 - 字符、颜色、字体、位置等随机
 
 - 失真或噪音 - 一堆污点或斜线,导致无法轻易识别中间的验证码
 
 - 时间限制 - 验证码有输入时间限制
 
 - 可绕过的情况 - 图像验证码不刷新或无效 - session验证,保证session或cookie不变就行
 
 - 验证码复用 - session验证,保证session或cookie不变就行
 
 - 存在无验证界面
 - 万能验证码 - 0000 6666 9999 等用于测试的验证码
 
 - 验证码数量有限 - 将有限的图片保存生成字典进行爆破
 
 - 简单验证码识别
 
- 图像验证码不刷新或无效 
 
 -  短信验证码- 通过手机号进行验证
 - 绕过方法 - 短信验证码生命期限内可暴力枚举 - 一些短信验证码有五分钟或十分钟的时间有效期
 
 - 短信验证码在数据包中返回 - 可能出现验证码存在数据包中的情况(虽然感觉不合理)
 
 - 修改请求数据包参数或 Cookie 值绕过 - 某些参数可能可以规避短信验证码验证
 
 - 修改返回包绕过 - 针对前端验证,通过修改返回包的状态码进行绕过
 
 - 攻破短信验证码接口 - 找到对应网站使用的短信验证码接收平台,攻破该平台也能进行登录
 
 - 默认万能验证码 - 0000 9999等
 
 - 验证码无校验
 
- 短信验证码生命期限内可暴力枚举 
 
 
-  
 -  场景 - 登录注册重置密码
 - 活动秒杀
 - 点赞发帖
 - 数据保护 - 支付
 - 修改重要账户信息
 - 评论私信留言
 
 
 - 漏洞修复方案 - 增加复杂性
 - 添加噪音或失真
 - 动态验证码
 - 图像反扭曲
 - 多因素身份验证
 - 定期更新设计
 
 
- 类型 
 -  身份验证- 利用场景 - 用户登录
 - 多因素身份验证
 - 社交媒体登录
 - 密码重置
 - API身份认证
 - SSO单一登录
 - 电子商务支付
 - 云服务和存储
 
 - 绕过手段 - 暴力破解(用户名、密码)
 - cookie和session验证 - 利用插件修改cookie中的某个参数冒仿他人登录
 
 - 弱加密 - token固定或者为用户名的编码,可以猜到的
 
 
 - 防御手段 - 多因素认证
 - 密码策略
 - 防止暴力破解
 - 单点登录
 - 安全问题和答案
 - 弱密码检测
 
 
- 利用场景 
 -  密码找回- 测试流程 - 点击正常的密码找回,尝试各种找回条件,记录所有数据包
 - 分析数据包,找到敏感的参数或者数据信息
 - 分析后台找回机制采用的验证手段
 - 修改数据包验证推测
 
 - 绕过手段 - 验证码暴力破解
 - 验证码直接返回
 - 跳过验证步骤
 - 利用邮箱、手机号进行绑定
 - 第三方登录绑定其他用户
 - 无验证手机号是否为绑定手机号
 - 本地验证绕过
 - 重置密码最后一步uid或者username可控
 - 个人中心修改密码逻辑错误
 - 利用session重新绑定用户
 - 去掉验证参数绕过验证
 - 任意输入验证码修改用户密码
 
 - 防御手段 - 验证码防御
 - 多重验证手段验证:绑定手机号、用户名、邮箱等
 - 只提供修改密码的界面,不提供其他任何可操作参数
 
 
- 测试流程 
 -  用户输入合规性- 用户的输入要符合系统的标准、规则、约束;以确保功能正常的运行
 - 利用场景(所有输入的地方) - 表单验证
 - 支付信息
 - 身份验证
 - 数据过滤
 - 搜索引擎查询
 - 评论和反馈
 - 电话号码验证
 - 电子邮件验证
 
 - 利用手段 - 注入测试
 - xss测试
 - 数据极端性测试 - 超长字符串测试
 - 特殊符号
 - 整数溢出
 
 
 
 
-