挖洞经验 | 用BurpSuite实现越权漏洞(IDOR)的自动发现识别
字数 1146 2025-08-18 11:39:15
BurpSuite自动化发现IDOR(越权)漏洞指南
一、IDOR漏洞概述
IDOR(Insecure Direct Object Reference,不安全的直接对象引用)漏洞发生在以下场景:
- 当用户对内部资源的访问请求
- 或基于用户提供的输入对象进行访问时
- 服务端未进行合理的权限验证
- 导致当前用户可以未经授权访问不属于自己账户权限的资源或数据
二、自动化探测工具准备
1. 插件安装
在BurpSuite的插件库(Bapp)中安装以下两个插件:
- Autorize
- Autorepeater
2. 测试用户准备
建议准备两个不同权限级别的用户账户:
- 用户A:管理员权限
- 用户B:普通用户权限
三、使用Autorize探测IDOR漏洞
1. 配置步骤
- 使用管理员(用户A)账户正常访问Web应用
- 在Autorize的请求配置中添加用户B的会话Cookie
- 设置作用域过滤器,优化结果显示
2. 工作原理
- 表面访问客户端是用户A
- 实际请求中使用的是用户B的会话Cookie
- 比较原始请求和修改后请求的响应差异
3. 结果分析
- 存在漏洞:原始长度(Original length)和修正长度(Modified length)无差异,且状态码均为200
- 无漏洞:收到403 Forbidden状态码
四、使用Autorepeater探测IDOR漏洞
1. 高级功能
Autorepeater是更复杂的版本,可以:
- 针对特定参数进行精确测试(如uuid、suid、uid等用户参数)
- 实现更灵活的请求修改
2. 配置方法
- 手动设置参数替换规则(如uuid替换测试)
- 可添加多种替换变量实现请求主体变化
- 支持其他参数或请求修改:
- User = Admin
- False = True
- JSON = XML
3. 应用场景
- 云应用中针对内部租户的测试
- 跨域租户的安全功能审计
五、工具资源
-
Autorize:
- GitHub主页: https://github.com/Quitten/Autorize
-
AutoRepeater:
- GitHub主页: https://github.com/nccgroup/AutoRepeater
-
参考视频教程:
六、最佳实践建议
- 测试前明确测试范围和授权
- 使用多个不同权限级别的测试账户
- 重点关注以下参数:
- 用户ID相关参数(uid, userid, id等)
- 资源标识符(uuid, suid等)
- 权限相关参数(role, level等)
- 结合BurpSuite的其他功能(如Scanner)进行综合测试
- 注意测试过程中的业务影响,避免生产环境数据污染