SRC(安全应急响应中心)逻辑漏洞的挖掘技巧需要结合具体业务逻辑场景和操作流程进行分析。以下是一些常见的逻辑漏洞挖掘技巧及实战方法:
1. 账户权限管理漏洞
- 常见问题:
- 垂直权限:普通用户可以操作管理员功能。
- 水平权限:用户可以操作其他用户的资源。
- 挖掘方法:
- 使用普通账户测试管理员功能接口。
- 修改资源ID(如用户ID、订单ID)进行测试,观察是否可以访问其他用户数据。
- 分析接口请求的权限控制字段,如
role
、user_id
是否可信。
2. 业务流程绕过
- 常见问题:
- 核心流程缺少关键步骤校验(如支付未校验金额)。
- 用户可以跳过必要步骤完成操作。
- 挖掘方法:
- 探索操作流程的每个步骤,尝试通过抓包工具(如Burp Suite)篡改、删除或重复发送请求。
- 检查依赖状态参数是否可以绕过(如
is_verified
标志字段)。
3. 支付与优惠逻辑漏洞
- 常见问题:
- 修改支付金额导致支付金额为负或0。
- 重复使用优惠券。
- 奖励机制可无限刷取。
- 挖掘方法:
- 抓包分析支付请求中的金额、优惠券ID等字段,尝试修改或重复使用。
- 在支付完成的过程中,尝试中断支付(如使用异常参数或断网),观察系统行为。
- 测试是否存在多账户或批量操作机制导致逻辑漏洞。
4. 验证绕过
- 常见问题:
- 缺乏验证逻辑(如验证码、身份验证)。
- 验证逻辑可被绕过。
- 挖掘方法:
- 绕过验证码:测试是否可以通过直接跳过验证码接口调用或多次提交一个验证码。
- 绕过登录验证:通过直接访问受保护的接口。
- 检查敏感功能是否依赖客户端参数(如JS验证)。
5. 文件与资源管理逻辑漏洞
- 常见问题:
- 用户可以上传恶意文件或修改文件路径。
- 对文件资源权限控制不足。
- 挖掘方法:
- 测试上传接口,尝试上传非预期类型文件(如脚本、超大文件)。
- 修改文件路径(如使用
../
目录穿越)查看是否能访问其他资源。
6. 重放攻击
- 常见问题:
- 系统未对关键操作的请求进行唯一性校验。
- 挖掘方法:
- 抓包并重复发送关键操作请求(如提现、下单)。
- 分析系统是否存在唯一标识符(如
nonce
、token
)以及其校验逻辑。
7. 业务竞争条件
- 常见问题:
- 系统未正确处理并发请求导致逻辑错误。
- 挖掘方法:
- 使用多线程工具(如Burp Intruder)同时发送多个并发请求,观察业务状态。
- 测试如库存扣减、账户资金转移等功能。
8. 时间逻辑漏洞
- 常见问题:
- 时间戳校验不当,导致漏洞(如早产漏洞)。
- 挖掘方法:
- 修改客户端时间或拦截请求中的时间字段进行篡改。
- 测试活动时间控制是否有效,尤其是活动开始前或结束后是否能操作。
9. 逻辑反转
- 常见问题:
- 系统依赖客户端提供的状态,用户可以篡改参数反转逻辑。
- 挖掘方法:
- 修改客户端参数,如
is_paid=false
变true
。 - 测试如退款操作是否正确校验支付状态。
- 修改客户端参数,如
工具与方法
- 工具:
- Burp Suite:抓包、修改请求、重放请求。
- Postman:模拟API调用。
- Fiddler:分析和篡改网络请求。
- 多线程工具(如Turbo Intruder):测试并发问题。
- 方法:
- 深入理解目标业务逻辑。
- 分析正常与异常请求的差异。
- 尝试思考“如果我是用户/攻击者,我想规避哪些步骤”。