Sharon-Needles/access

GitHub: Sharon-Needles/access

一款七阶段访问控制自动化测试 Bash 脚本,通过双账户对比方法系统性发现 IDOR/BOLA、权限提升、JWT 漏洞和 API 认证缺陷。

Stars: 0 | Forks: 0

# access.sh — 7 阶段访问控制测试 **自动化访问控制与身份验证绕过测试。测试 IDOR/BOLA、权限提升、水平访问控制、API 身份验证缺陷以及 JWT 漏洞。** ## 功能 ### 7 阶段流水线 1. **端点映射** — 发现需要身份验证的端点 2. **身份验证测试** — 弱身份验证、会话固定、令牌重用 3. **IDOR/BOLA** — 不安全的直接对象引用(顺序/UUID ID) 4. **水平提升** — 访问其他用户的数据 5. **垂直提升** — 权限升级(用户 → 管理员) 6. **API 身份验证漏洞** — API 端点上缺失/薄弱的身份验证 7. **JWT 漏洞利用** — 算法混淆、密钥泄露、过期绕过 ### 质量 - **双账户测试** — 比较高权限和低权限账户之间的访问权限 - **聚焦 IDOR** — 最高投资回报率(ROI)的漏洞(IDOR 平均为 $1K-$5K) - **集成就绪** — 接收 hunt.sh 和 api.sh 的输出 - **VRT 就绪** — 预分类的测试结果 ## 要求 ### 必选 ``` sudo pacman -S curl jq ``` ### 可选 ``` jwt-cli python3-jwt ``` ### 两个测试账户 需要拥有两者的访问权限: - **低权限用户** — 普通账户 - **高权限用户** — 管理员/版主账户(或不同用户) ## 安装 ``` git clone https://github.com/Sharon-Needles/access cd access sudo ln -s "$(pwd)/access.sh" /usr/local/bin/access ``` ## 快速开始 ### 交互模式(推荐用于身份验证测试) ``` access ``` 提示输入测试账户凭证。 ### CLI 模式 ``` access --target "Company" --urls api.txt --user1 low@test.com --pass1 password123 ``` ### 恢复运行 ``` access --resume ./hunts/Company_AC_20260423_120000 ``` ## 用法 ``` Usage: access.sh [OPTIONS] Options: --target NAME Target name --urls FILE API/endpoint URLs --user1 EMAIL Low-privilege account email --pass1 PASSWORD Low-privilege password --user2 EMAIL High-privilege account email (optional) --pass2 PASSWORD High-privilege password (optional) --platform PLATFORM bugcrowd | hackerone --resume PATH Resume hunt -h, --help Show help ``` ### 示例 **使用两个不同的用户账户进行测试:** ``` access --target "Company" --urls endpoints.txt \ --user1 user@test.com --pass1 pass123 \ --user2 admin@test.com --pass2 adminpass ``` **IDOR 探测(顺序 ID 测试):** ``` access --target "Company" --urls "/api/users" --user1 test@company.com --pass1 test123 ``` **API 身份验证漏洞:** ``` access --target "Company" --urls api.txt --platform bugcrowd ``` ## 输出 ``` Company_AC_20260423_*/ ├── phase_1_endpoints.txt # Discovered endpoints ├── phase_2_auth_testing.txt # Auth mechanism findings ├── phase_3_idor.txt # IDOR vulnerabilities ├── phase_4_horizontal.txt # Lateral access ├── phase_5_vertical.txt # Privilege escalation ├── phase_6_api_auth.txt # Missing/weak API auth ├── phase_7_jwt.txt # JWT weaknesses ├── findings.txt # Consolidated ├── [SUBMIT:P1-P3].txt # Ready-to-submit └── report.md # Bugcrowd/H1 ready ``` ## IDOR 测试详情 IDOR 是投资回报率(ROI)最高的漏洞(平均 $1K-$5K)。测试方法: 1. **顺序 ID**:将 `/users/123` 替换为 `/users/124`、`/users/125` 等。 2. **UUID 模式**:尝试对 UUID 进行反转、递增或模糊测试 3. **请求方法切换**:在同一端点上尝试 GET、POST、PUT、DELETE 4. **参数变异**:将 `user_id=123` 更改为 `userId=123`、`id=123` 等。 5. **版本降级**:如果 `/v2/` 有身份验证,则尝试 `/v1/` 端点 ## 与其他工具集成 ### 来自 hunt.sh ``` cat ./hunts/Target_*/phase_3_sweep.json | jq '.[] | .url' > endpoints.txt access --target "Target" --urls endpoints.txt --user1 test@test.com --pass1 pass ``` ### 来自 api.sh ``` cat ./hunts/Target_API_*/findings.txt | grep "endpoint" | cut -d' ' -f2 > api_urls.txt access --target "Target" --urls api_urls.txt --user1 test@test.com --pass1 pass ``` ## 测试环境 - BlackArch Linux - Bash 5.x ## 许可证 MIT ## 免责声明 仅在获得明确书面授权的情况下负责任地使用。 **重要提示**:仅对您拥有或已获得明确授权使用的账户进行访问控制测试。
标签:API安全, BOLA检测, Bug Bounty, CISA项目, CSV导出, IDOR测试, JSON输出, JWT安全, Web安全, 协议分析, 可自定义解析器, 垂直越权, 应用安全, 权限提升, 水平越权, 蓝队分析, 访问控制测试, 越权漏洞, 身份验证绕过, 逆向工具