权限安全
##### 未授权访问
* 会话漏洞
* 复制登录状态下的某一功能链接,再其他浏览器或用户直接访问看是否能进入登录状态界面
<!-- -->
* 正常会弹出请登录界面,校验身份;如果直接进入控制台则表明存在未授权访问漏洞
<!-- -->
* 存储不安全问题
* 服务器端的数据不安全存储,就是用户不需要身份验证就能直接访问一些敏感信息,如他人的支付订单,银行卡信息等
##### 越权
* 水平越权
* 同权限账号之间的信息访问(只针对私人数据)
<!-- -->
* 查找是否有id等表示身份信息的参数,进行修改看是否能查看到别人的信息
<!-- -->
* 垂直越权
* 低权限账号访问高权限账号的私人数据,或者执行了高权限账号才能执行的功能
<!-- -->
* 添加用户,访问管理员信息等,查看是否有鉴权参数,修改后看是否能获取不同的权限
流程乱序
- 正常情况下完成一个功能需要按步骤执行一系列操作,如生成订单--》校验身份---》支付----》支付成功
- 如果存在乱序问题,生成订单后,直接抓取支付成功的数据包修改订单号就能直接完成整个流程;绕过了中间的身份验证
-
修复
- 首先建议对敏感信息进行加密处理,例如身份 id、账号密码、订单号、金额等
- 建议在服务器端对其信息进行二次校验,避免修改乱序等情况
接口调用
##### 利用
* 重放攻击
* 短信轰炸
<!-- -->
* 恶意注册
<!-- -->
* 无线刷积分/投票
<!-- -->
* 内容编辑
##### 防范
* 确保业务接口有保护,只有授权的系统或应用程序可以调用
<!-- -->
* 对接口输入的数据进行验证,防止恶意数据输入和攻击
业务一致性
##### 事务完整性
* 所有任务全部成功或全部失败
##### 日志记录
* 记录信息,跟踪数据
<!-- -->
* 如医疗系统患者信息
##### 利用
* 就是修改一些标志身份的参数信息来获取他人的数据或产品
<!-- -->
* 如
* 手机号篡改
* 修改手机号查看他人业务信息
<!-- -->
* 邮箱篡改
* 修改邮箱查看他人业务信息
<!-- -->
* 订单id篡改
* 修改订单号来查看他人订单信息
<!-- -->
* 商品编号篡改
* 修改商品编号以获得高价值商品
<!-- -->
* 用户id篡改
* 看其他用户信息
数据篡改
##### 防护
* 使用数据加密、访问控制和数据完整性检查来保护业务数据
<!-- -->
* 通过安全通信协议传输敏感数据
##### 场景
* 金融
<!-- -->
* 医疗
##### 利用
* 金额修改
* 通过修改支付过程中的金额实现0元购
<!-- -->
* 数量修改
* 通过修改购买商品数量为负数或者超过最大数,看是否能完成业务流程
时效绕过测试
##### 时间范围
* 如银行业务默认只能查询近三个月的交易明细,通过抓包可以尝试一下修改时限,看能否绕过这个范围
##### 时间刷新
* 如出票系统可能默认5s刷新一次,可以尝试设置autoSearchTime=1000(1s);这是在本地设置的,提高刷新率,提高抢票概率
业务安全危害
- 数据泄露:未经授权的访问或攻击可能导致敏感数据的泄露。这可能包括客户数据、财务信息、知识产权等敏感信息的曝露,损害个人隐私和组织声誉。
- 数据篡改: 恶意篡改或操纵业务数据可能导致错误的决策、不准确的报告以及可能的法律责任。这对业务运营和声誉造成直接威胁。
- 服务中断: 业务安全问题可能导致系统服务中断,影响业务的连续性和可用性。这可能导致生产停滞、损失收入和客户满意度下降
防御
- 访问控制:限制用户对系统资源的访问权限,只允许授权用户访问系统。
- 数据加密:对重要数据进行加密处理,保护数据的机密性和完整性,防止数据泄露。
- 安全审计:记录系统的操作日志和安全事件,及时发现和处理安全漏洞。
- 强化认证:采用多因素认证等方式,提高用户身份验证的安全性。
- 漏洞修复:及时修复系统中的漏洞和安全缺陷,保证系统的稳定和安全性。
- 应急响应:建立应急响应机制,及时应对安全事件和威胁,降低损失和影响。