0xBugatti/400OK
GitHub: 0xBugatti/400OK
一款集成 22 种绕过技术和 4,400+ payload 的 403/401 访问控制绕过测试工具
Stars: 22 | Forks: 1
超全面的 403/401 绕过工具
22 种技术 | 4,400+ Payload
快速开始 | 功能特性 | 技术原理 | 使用方法 | 为什么选择 400OK?
## 什么是 400OK? 曾经遇到过 **403 Forbidden** 并认为“一定有办法绕过它”吗?是的,我们都经历过。 **400OK Ultimate Edition** 是您进行访问控制绕过测试的瑞士军刀。这款工具诞生于最佳绕过工具(`nomore403` + `byp4xx` + 传奇的 Monster 脚本)的融合,将 **22 种独特的绕过技术**和超过 **4,400 个 payload** 封装在一个极速的 Go 二进制文件中。 无论您是在进行漏洞挖掘、渗透测试,还是仅仅出于对那个被禁止访问的管理面板的好奇 - 400OK 都是您的坚强后盾。 ``` One tool to rule them all, one tool to find them, One tool to bypass all and in the 200 bind them. ``` ## 快速开始 ### 选项 1:下载并运行(推荐) ``` # 下载最新 release wget https://github.com/0xbugatti/400OK/releases/latest/download/400OK-linux-amd64.tar.gz # 解压并运行 tar -xzf 400OK-linux-amd64.tar.gz cd 400OK ./400OK -u https://target.com/admin ``` ### 选项 2:从源码构建 ``` # Clone 该 repo git clone https://github.com/0xbugatti/400OK.git cd 400OK # Build 它 go build -o 400OK # 运行它 ./400OK -u https://target.com/admin ``` ### 选项 3:Go Install ``` go install github.com/0xbugatti/400OK@latest ``` **就这样。** 您已经准备好绕过一些访问控制了。 ## 功能特性 | 功能 | 描述 | | :----------------------------- | :--------------------------------------------------------- | | **22 种绕过技术** | 从动词篡改到 Unicode 编码 - 我们应有尽有 | | **4,400+ Payload** | 目前最全面的 payload 集合 | | **自动校准** | 智能过滤,自动消除误报 | | **极速高效** | 原生 Go HTTP 客户端,支持 50+ 并发 goroutine | | **JSON 导出** | 将发现结果导出为 JSON 以用于您的报告 | | **Burp 集成** | 直接从 Burp Suite 导入请求 | | **优雅退出** | Ctrl+C 在退出前显示摘要 | | **代理支持** | 通过 Burp, ZAP 或任何代理路由 | | **速率限制感知** | 遇到 429 响应自动停止 | | **技术选择** | 包含或排除特定技术 | ## 技术原理 400OK 加载了 **22 种绕过技术**,分为三个层级: ### 核心技术(低噪音) | 技术 | 标志位 | 功能 | 请求数 | | :------------------------ | :------------------ | :------------------------------------------------- | :------- | | **动词篡改 (Verb Tampering)** | `verbs` | 测试 86 种 HTTP 方法 (GET, POST, PATCH, POUET...) | 86 | | **动词大小写 (Verb Case)** | `verbs-case` | 方法大写变换技巧 (get, GeT, gET) | ~20 | | **请求头** | `headers` | 53 个绕过请求头,含 24 种 IP 变体 | ~1,200 | | **路径后缀** | `endpaths` | 路径后缀 (/, /., /?, /..;/) | 72 | | **路径中缀** | `midpaths` | 插入 URL 中间的路径遍历模式 | 245 | | **HTTP 版本** | `http-versions` | HTTP/1.0 vs HTTP/1.1 vs HTTP/2 | 6 | | **路径大小写** | `path-case` | 大小写变换 (/Admin, /ADMIN, /aDmIn) | 可变 | | **双重编码** | `double-encoding` | 使用 %252e 代替 %2e | 可变 | | **Bug Bounty 技巧** | `bugbounty-tips` | 13 种来自真实赏金任务的验证技术 | 13 | ### Monster 独家技术(中等噪音) | 技术 | 标志位 | 功能 | 请求数 | | :---------------------- | :---------------- | :--------------------------------------- | :------- | | **IPv6 绕过** | `ipv6` | IPv6 本地地址表示形式 | 10 | | **Host 请求头** | `host-header` | 虚拟主机路由操纵 | 19 | | **Unicode/IIS** | `unicode` | 针对 IIS 的超长 UTF-8 编码 | 23 | | **WAF 绕过** | `waf-bypass` | WAF 规则规避模式 | 6 | | **Via 请求头** | `via-header` | Via 请求头操纵 | 5 | | **Forwarded** | `forwarded` | RFC 7239 Forwarded 请求头 | 8 | | **缓存控制** | `cache-control` | 缓存操纵绕过 | 6 | | **Accept 请求头** | `accept-header` | 内容协商技巧 | 6 | | **协议** | `protocol` | HTTP/HTTPS 协议切换 | 2 | | **端口** | `port` | 非标准端口测试 | 8 | | **Wayback** | `wayback` | 检查 Wayback Machine 中的存档页面 | API | ### 重型武器(高噪音 - 选择性使用) | 技术 | 标志位 | 功能 | 请求数 | | :---------------------- | :---------------- | :----------------------------------------- | :------- | | **扩展名** | `extensions` | 926 种文件扩展名 (.php, .aspx, .bak...) | 926 | | **默认凭据** | `default-creds` | 通过 HTTP Basic Auth 测试 1,909 组凭据 | 1,909 | ## 使用方法 ### 基础扫描(所有技术) ``` ./400OK -u https://target.com/admin ``` ### 选择特定技术 ``` # 仅测试 bug bounty 技巧和 header 操作 ./400OK -u https://target.com/admin -k bugbounty-tips,headers,verbs ``` ### 排除噪音较大的技术 ``` # 运行除 default credentials 和 extensions 外的所有内容 ./400OK -u https://target.com/admin -e default-creds,extensions ``` ### 使用代理 ``` ./400OK -u https://target.com/admin -x http://127.0.0.1:8080 ``` ### 自定义请求头 ``` ./400OK -u https://target.com/admin -H "Authorization: Bearer eyJ..." -H "X-Custom: value" ``` ### 导出为 JSON ``` ./400OK -u https://target.com/admin -j results.json ``` ### 隐蔽模式 ``` # 慢速且安静 - 500ms 延迟,仅 10 个并发请求,随机 user-agent ./400OK -u https://target.com/admin -d 500 -m 10 --random-agent -k bugbounty-tips,headers ``` ### 从 Burp Suite 请求文件导入 ``` ./400OK --request-file burp_request.txt ``` ### 管道传输多个 URL ``` cat urls.txt | ./400OK ``` ## 扫描配置 ### 快速扫描 *快速、低噪音、高价值的技术* ``` ./400OK -u https://target.com/admin -k verbs,headers,bugbounty-tips -d 100 ``` ### 标准扫描 *均衡 - 排除噪音最大的技术* ``` ./400OK -u https://target.com/admin -e default-creds -x http://127.0.0.1:8080 ``` ### 全副武装(实验室环境) *所有内容,毫无保留* ``` ./400OK -u https://target.com/admin -v ``` ### 忍者模式(隐蔽) *最小足迹,最大耐心* ``` ./400OK -u https://target.com/admin -k bugbounty-tips,headers -d 1000 -m 5 --random-agent ``` ## 所有标志位 ``` REQUIRED: -u, --uri Target URL (e.g., https://target.com/admin) TECHNIQUE SELECTION: -k, --technique Include only these techniques (comma-separated) -e, --exclude Exclude these techniques (comma-separated) Note: -k and -e are mutually exclusive REQUEST OPTIONS: -H, --header Custom headers (repeatable) -t, --http-method Force specific HTTP method -a, --user-agent Custom User-Agent string --random-agent Use random User-Agent per request -i, --bypass-ip IP to inject in bypass headers PERFORMANCE: -m, --max-goroutines Max concurrent requests (default: 50) -d, --delay Delay between requests in ms (default: 0) --timeout Request timeout in ms (default: 6000) -l, --rate-limit Stop on 429 responses PROXY & NETWORK: -x, --proxy Proxy URL (e.g., http://127.0.0.1:8080) -r, --redirect Follow redirects --http Use HTTP instead of HTTPS OUTPUT: -v, --verbose Show all responses (not just bypasses) --unique Show only unique status/length combinations -j, --json Export results to JSON file -s, --summary Show scan summary (default: true) --no-banner Hide the startup banner INPUT: -f, --folder Custom payloads folder location --request-file Load request from Burp-style file --status Filter by status codes (e.g., 200,301,403) ``` ## 工作原理 ### 1. 自动校准 400OK 首先发出一个基线请求以了解“正常”响应。任何返回相同内容长度的绕过尝试都会被过滤掉 - 不再需要在成千上万的误报中苦苦寻找。 ### 2. 并行执行 利用 Go 的 goroutine,400OK 同时发出 50+ 个请求(可配置)。这意味着扫描在几秒钟内完成,而不是几小时。 ### 3. 智能过滤 结果去重,仅显示真正不同的响应。该工具会跟踪: - 状态码 - 内容长度 - 响应模式 ### 4. 优雅处理 随时按 Ctrl+C - 400OK 将在干净退出之前向您展示目前的发现。 ## 为什么选择 400OK? 我们将 400OK 与所有主流绕过工具进行了对比。以下是对比结果: | 功能 | bypass-403.sh | byp4xx | nomore403 | **400OK Ultimate** | | :------------------------- | :-----------: | :-----: | :-------: | :----------------------: | | **技术数量** | ~20 | 9 | 8 | **22** | | **总 Payload 数** | ~20 | 3,480 | 1,420 | **4,400+** | | **HTTP 方法** | 3 | 84 | 17 | **86** | | **自动校准** | No | No | Yes | **Yes** | | **IPv6 绕过** | No | No | No | **Yes** | | **Unicode/IIS** | No | No | No | **Yes** | | **Wayback 检查** | No | No | No | **Yes** | | **WAF 绕过** | No | No | No | **Yes** | | **JSON 导出** | No | No | No | **Yes** | | **并发数** | 1 | Limited | 50 | **50+** | | **性能** | Slow | Fast | Fast | **Fastest** | **400OK Ultimate = 集众家之长** ## Payload 文件 400OK 附带了一套全面的 payload 集合: | 文件 | 数量 | 用途 | | :--------------- | ---------------: | :------------------------------- | | `httpmethods` | 86 | HTTP 动词篡改 | | `headers` | 53 | 绕过请求头名称 | | `endpaths` | 72 | 路径后缀模式 | | `midpaths` | 245 | 路径遍历模式 | | `useragents` | 999 | User-Agent 轮换 | | `extensions` | 926 | 文件扩展名枚举 | | `defaultcreds` | 1,909 | 默认用户名:密码对 | | `ipv6` | 10 | IPv6 本地地址表示形式 | | `unicode` | 23 | 超长 UTF-8 编码 | | `waf` | 6 | WAF 绕过模式 | | `hostvalues` | 19 | Host 请求头值 | | `via` | 5 | Via 请求头值 | | `forwarded` | 8 | Forwarded 请求头值 | | `cache` | 6 | Cache-Control 值 | | `accept` | 6 | Accept 请求头值 | | `ports` | 8 | 端口变化 | | **总计** | **4,400+** | **全面覆盖** | ## Bug Bounty 技巧(内置) 这 13 种经过实战检验的技术已硬编码在 400OK 中: | # | 模式 | 描述 | | :-: | :------------------------- | :------------------------ | | 1 | `/%2e/{{path}}` | URL 编码的点 | | 2 | `/%ef%bc%8f{{path}}` | Unicode 全角斜杠 | | 3 | `{{path}}?` | 查询字符串终止符 | | 4 | `{{path}}??` | 双查询字符串 | | 5 | `{{path}}//` | 双尾部斜杠 | | 6 | `{{path}}/` | 尾部斜杠 | | 7 | `/./{{path}}/./` | 点斜杠包装器 | | 8 | `{{path}}/.randomstring` | 隐藏文件模式 | | 9 | `{{path}}..;/` | 带斜杠的分号路径 | | 10 | `{{path}}..;` | 分号路径终止符 | | 11 | `/.;/{{path}}` | 分号前缀 | | 12 | `/.;/{{path}}/.;/` | 分号包装器 | | 13 | `/;foo=bar/{{path}}` | 参数注入 | ## 故障排除 ### 结果太多? 自动校准应该会过滤掉误报。如果您仍然看到噪音: ``` # 使用 unique 模式 ./400OK -u
由 0xBUGATTI 充满决心地构建
"因为 403 只是一个建议"
标签:401绕过, 403绕过, CISA项目, Go语言, HTTP请求, Linux取证, Payload生成, Web安全, 协议分析, 安全测试, 批量测试, 授权检测, 攻击性安全, 攻击路径可视化, 日志审计, 权限提升, 程序破解, 红队作战, 蓝队分析, 访问控制绕过, 跨平台工具, 边界突破, 黑客工具