文章目录
业务逻辑漏洞
概念
设计漏洞而非实现漏洞,是业务逻辑设计不严谨导致的,没有明显的攻击特征,难以扫描发现,也难以用安全设备防护
分类
绕过验证
主要指身份验证体系设计存在缺陷,可使用技术手段绕过验证机制冒用他人身份
弱口令
- 漏洞成因:
- 常用口令:abc、123456、admin等
- 纯数字、纯字母且长度小于6
- 在允许社会工程学攻击情况下,密码中带有个人信息的
- 键盘顺序设置的
- 企业、CMS及系统服务的默认口令
- 避免漏洞:弱口令判定后,引导强制修改为强口令
暴力**
- 概念:利用大量猜测和穷巨大方式尝试用户口令。撞库是利用特定弱口令批量尝试可能的用户名
- 漏洞成因:
- 无图片验证码
- 不安全的图片验证码(前端后端验证不过期)
- 无错误锁定机制(没限制输错几次锁定)
- 错误提示过于详细
- 短信验证码过短或去错误锁定机制
- 无图片验证码
- 避免漏洞:
- 图片验证码每次都刷新,使用成功就失效
- 提供账户锁定功能
- 短信验证码大于6位,并且也做锁定功能
- 增加token机制
客户端验证
- 将用户的身份验证信息直接返回给用户进行校验,可通过截取身份验证信息来通过验证
- 将身份验证结果返回客户端,由客户端根据结果进行下一步的操作,可通过篡改验证结果
任意密码重置
- 漏洞成因:
- 密码重置问题太简单
- 密码重置链接可猜测
- 关键参数可修改
- 密码重置过程的暴力**、越权访问、客户端验证
- 避免漏洞:
- 所有验证在服务端进行,验证问题的大难不能以任何形式返回给用户
- 验证结果即下一步跳转操作由服务端执行
- 采用连续身份验证机制
- 验证码只能发送到预设的手机号或邮箱,并且设置有效期
越权访问
- 权限控制功能不严谨,使得用户可以访问或操作未授权的功能或数据
- 避免漏洞
- 采用成熟的权限管理框架
- 用户访问操作的凭证,并且以表单或其他参数提交
- 尽量不对互联网开放或者访问控制
水平越权
- 以某用户身份访问相同权限的其他用户信息。
- 分为基于身份标识、基于订单号、基于文件名
垂直越权
- 以某用户身份访问更高权限的其他用户信息。
- 分为基于cookie、基于链接
交易漏洞
参数篡改
- 篡改金额
- 0数逻辑
- 负数逻辑
重放攻击
- 客户端校验
- 开放端口
流程漏洞
- 退货流程
其他漏洞
短信炸弹
漏洞挖掘思路
暴力**漏洞挖掘
- 浏览应用,发现登录并且没有验证码
- 用错误的账号密码登录多次,测试没有锁定机制,抓包进行暴力**
绕过验证漏洞挖掘
- 浏览应用,发现有密码重置功能。可能存在
- 抓包跟踪重置流程,发现校验环节出现关键字success,可能存在客户端验证
- 抓包,跟踪尝试重置某个未知账号的密码,并且修改服务端返回的关键字,重置密码成功
越权访问漏洞挖掘
- 浏览应用,发现订单查询功能订单生成有规律,可能存在
- 抓包跟踪订单查询流程,记录请求包
- 抓包遍历订单编号,发现可查看他人的订单
交易篡改漏洞挖掘
- 浏览应用,发现存在交易功能
- 抓包跟踪交易流程,发现价格是客户端提交的,并对价格篡改
漏洞网站
- 漏洞盒子
交易篡改漏洞挖掘
- 浏览应用,发现存在交易功能
- 抓包跟踪交易流程,发现价格是客户端提交的,并对价格篡改
漏洞网站
- 漏洞盒子
- 补天