Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
nomore403 — 🚫 为安全研究人员提供的高级工具,通过智能技术和自适应请求操作绕过403/40X限制。快速。精准。高效。 | Kitploit
工具/GitHubGitHub/devploit/nomore403
侦察漏洞扫描器IDS/IPS规避WAF绕过Web安全渗透测试
GitHubdevploit/nomore403

nomore403

🚫 为安全研究人员提供的高级工具,通过智能技术和自适应请求操作绕过403/40X限制。快速。精准。高效。

查看仓库
1.8k214162个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

NoMore403 logo

NoMore403

GitHub stars GitHub forks Go Report Card Go version License: MIT Contributions welcome

nomore403 是一个命令行工具,用于测试 HTTP 访问控制绕过以及 401、403 及相关响应中的解析器不一致性。

该工具专为实际 Web 安全工作设计:漏洞赏金、渗透测试、安全审查以及访问控制规则的回归测试。它自动化执行一组广泛的请求变异,捕获基线,过滤常见误报,并突出显示最可能表示有意义绕过的响应。

工具功能

给定一个目标 URL,nomore403 会:

  1. 发送一个基线请求以捕获被阻止的响应。
  2. 可选地自动校准不存在的路径,以了解目标的默认错误行为。
  3. 运行一组绕过技术,这些技术会变异请求路径、方法、标头或线路格式。
  4. 对结果进行评分和分组以减少噪音。
  5. 输出可重放的证据,包括针对有趣发现的 curl 命令。

该工具本身不会“破坏身份验证”。它有助于发现前端、代理、WAF、CDN、应用程序路由器和后端在解释同一请求时的差异。

特性

  • 基于基线的比较(与阻止响应对比)
  • 自动校准以减少来自默认 404 或父路径响应的误报
  • 带评分的输出,分别提供可能的绕过和有趣的变体的摘要
  • 对高价值发现进行重放和可复现性
  • 针对瞬态网络故障的重试和退避
  • 并发执行,带每个技术的进度显示
  • 支持原始 HTTP 请求格式(net/http 会将其规范化掉的那些形式)
  • JSON 和 JSONL 输出,适用于管道和后处理
  • 输入支持单个 URL、URL 文件、标准输入或请求文件

安装

从源码编译

root@kitploit:~
git clone https://github.com/devploit/nomore403
cd nomore403
go build

使用 Go 安装

root@kitploit:~
go install github.com/devploit/nomore403@latest

如果使用 go install 安装,payloads/ 目录不会自动安装。如有需要,请克隆仓库并通过 -f 将工具指向该目录。

要求

  • 从源码编译需要 Go 1.24 或更高版本
  • 对于依赖于 curl 的技术(例如 http-versions、http-parser、absolute-uri),需要 curl 在 PATH 中可用

大多数技术无需 curl 即可工作。

快速入门

基本扫描:

root@kitploit:~
./nomore403 -u https://target.tld/admin

使用代理并输出详细信息:

root@kitploit:~
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v

仅运行选定的技术:

root@kitploit:~
./nomore403 -u https://target.tld/admin -k headers,absolute-uri,raw-desync

从标准输入读取目标:

root@kitploit:~
cat urls.txt | ./nomore403

使用 Burp 风格的请求文件:

root@kitploit:~
./nomore403 --request-file request.txt

写入机器可读的输出:

root@kitploit:~
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl

示例输出

root@kitploit:~
target: https://target.tld/admin   method: GET   frontend: AWS ELB/ALB   payloads: payloads

calib: 404 | 1245b | ±50 | frag 703b

BASELINE
  default       403    520 bytes    https://target.tld/admin

FINDINGS
  hdr-ip     100! 200   2048 bytes   X-Original-URL: /
  abs-uri     26. 403    236 bytes   request-target: https://target.tld/admin
  http        18. 400    122 bytes   HTTP/2

no visible results: 17 techniques

━━━━━━━━━━━━━━ LIKELY BYPASS ━━━━━━━━━━━━━━━━━
[!100 HIGH] Header injection (IP) 403=>200    2048b
         why: status 403->200, len Δ1528, body changed, type changed
        item: X-Original-URL: /
        curl: curl -i -sS -k -H 'User-Agent: nomore403' -H 'X-Original-URL: /' 'https://target.tld/admin'

如何阅读输出

主要技术输出

每个可见行都是一个与基线差异足够大、通过过滤的响应。

典型字段:

  • 技术别名,例如 hdr-ip、abs-uri 或 parser
  • 紧凑评分标记,例如 18.、61+ 或 100!
  • 最终响应状态码
  • 响应大小
  • 使用的条目或载荷

摘要转换

最终摘要显示基线到结果的转换:

  • 403=>200 通常值得立即关注
  • 403=>302 可能有趣,但仍可能解析回身份验证障碍
  • 403->400 或 403->404 通常表示解析器或路由差异,而非绕过

摘要

运行结束时,nomore403 会打印:

  • LIKELY BYPASS
    • 最高评分的结果
    • 包含可复现的 curl 命令
  • INTERESTING VARIATIONS
    • 有意义的解析器或路由差异,值得手动审查
  • no visible results
    • 运行但过滤后没有可见输出的技术数量

评分模型

评分是启发式的。其目的是对结果进行优先级排序,而非证明漏洞存在。

该工具通常奖励:

  • 转换为 2xx
  • 转换为 3xx
  • 较大的响应体长度变化
  • 响应体哈希变化
  • Location 变化
  • 似乎不会解析回登录或拒绝流程的异常重定向
  • 重放后仍存在的差异

该工具通常降低评级:

  • 几乎相同的响应
  • 重复的解析器噪音
  • 不稳定的重放结果
  • 似乎指向访问控制回环的空体重定向
  • 大量 400 和 404 案例(除非响应也发生显著变化)

建议的解释:

  • HIGH:可能可操作;优先审查
  • MED:合理候选;通常值得手动重放
  • LOW:解析器差异、路由异常或低置信度行为

自动校准

自动校准在非详细模式下默认启用。

它会向几个不存在的路径发送请求,构建目标默认错误行为的基线。还会执行基于片段的校准请求,以减少由片段剥离路径引起的误报。

使用以下标志控制自动校准:

  • --no-calibrate
    • 仅与默认阻止响应进行比较
  • --strict-calibrate
    • 还比较响应体哈希和关键标头,例如 Location、Content-Type 和 Server

技术

除非使用 -k 指定,否则该工具默认运行所有技术。

方法和动词变体

  • verbs
    • 来自 payloads/httpmethods 的替代 HTTP 方法
  • verbs-case
    • HTTP 方法的随机大小写
  • method-override
    • 基于查询、标头和响应体的方法覆盖模式

标头和信任基础变体

  • headers
    • 涵盖以下技术的总称:
      • IP 信任标头
      • 简单标头
      • Host 变体
  • hop-by-hop
    • 使用 Connection 的逐跳剥离技巧
  • header-confusion
    • 重写和路径覆盖标头,例如 X-Original-URL
  • host-override
    • 主机覆盖和转发主机变体
  • forwarded-trust
    • Forwarded、Client-IP、Cluster-Client-IP 及相关信任链
  • proto-confusion
    • X-Forwarded-Proto、X-Forwarded-Port 及相关方案提示

路径和规范化变体

  • endpaths
    • 来自 payloads/endpaths 的后缀和路径末尾变体
  • midpaths
    • 来自 payloads/midpaths 的路径插入和遍历式变体
  • double-encoding
    • 编码路径变体,包括激进的二次编码形式
  • unicode
    • %uXXXX 和超长 UTF-8 路径变体
  • path-case
    • 路径段大小写切换
  • path-normalization
    • 点段和分号规范化变体
  • suffix-tricks
    • 后缀和扩展名技巧,例如 .json、.css、;index.html 以及格式样式的查询切换

前端和线路格式变体

  • http-versions
    • 在 HTTP/1.0 和 HTTP/2 之间比较同一请求
  • http-parser
    • 发送故意最小化的 curl 请求,以单独暴露客户端/前端解析器差异(与 http-versions 分开)
  • absolute-uri
    • 通过 curl --request-target 使用绝对形式请求目标
  • raw-duplicates
    • 使用原始 HTTP 复制安全相关的标头
  • raw-authority
    • 重复或冲突的 authority 和 host 信号
  • raw-desync
    • 旨在引发前端/后端解析差异的请求形式,包括冲突的传输语义

原始 HTTP 行为

某些技术需要 Go 的 net/http 客户端无法提供的线路级控制。这些技术使用原始 HTTP 引擎。

目前包含的原始技术:

  • raw-duplicates
  • raw-authority
  • raw-desync
  • 部分 %uXXXX unicode 路径请求

注意:

  • 原始请求在必要时自动发送
  • 原始技术目前不支持上游代理
  • 原始行为在以下情况下有用:
    • 重复标头
    • 精确的请求目标
    • transfer-encoding 和 content-length 边界情况

指纹识别与技术顺序

该工具可能推断出前端提示,例如:

  • AWS ELB / ALB
  • CloudFront
  • Cloudflare
  • Nginx
  • Envoy
  • Apache
  • IIS

这些提示用于改进技术顺序和输出上下文。

重要说明:

  • 指纹识别默认不会禁用技术
  • 除非使用 -k,否则该工具仍会运行完整的默认技术集

可复现性与重放

高价值结果会在最终摘要中自动重放。

重放输出有助于回答:

  • 行为是否重复?
  • 是否保持了相同的状态码和响应形状?
  • 这个结果是否足够稳定,值得调查或报告?

最终摘要包含:

  • 重放计数,例如 1/1 或 2/2 matched on replay
  • 针对有趣结果的可复现 curl 命令

输入模式

单个目标

root@kitploit:~
./nomore403 -u https://target.tld/admin

包含 URL 的文件

root@kitploit:~
./nomore403 -u targets.txt

标准输入

root@kitploit:~
cat targets.txt | ./nomore403

请求文件

root@kitploit:~
./nomore403 --request-file request.txt

当重放在 Burp 或其他代理中捕获的流量时,请求文件非常有用。

自定义载荷位置

当你希望在明确标记的位置注入载荷,而不是仅依赖内置的 endpath 和 midpath 变异逻辑时,使用 --payload-position。

示例:

root@kitploit:~
./nomore403 -u 'https://target.tld/§100§/admin/§200§' -p §

常见工作流

快速分类

root@kitploit:~
./nomore403 -u https://target.tld/admin

使用拦截代理进行调查

root@kitploit:~
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v

仅运行原始和前端相关技术

root@kitploit:~
./nomore403 -u https://target.tld/admin -k absolute-uri,raw-duplicates,raw-authority,raw-desync

测试自定义可信 IP

root@kitploit:~
./nomore403 -u https://target.tld/admin -i 10.0.0.5

保存 JSONL 以便后续分析

root@kitploit:~
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl

标志

运行 ./nomore403 --help 查看完整的最新 CLI。

关键标志:

  • -u, --uri
    • 目标 URL、URL 文件或输入路径
  • -k, --technique
    • 要运行的技术列表(逗号分隔)
  • -x, --proxy
    • 上游代理
  • -H, --header
    • 添加自定义标头
  • -i, --bypass-ip
    • 用于信任标头技术的 IP 或主机名
  • -v, --verbose
    • 显示所有可见结果,而不仅仅是过滤后的输出
  • --json
    • 输出结构化 JSON
  • --jsonl
    • 每条结果输出一个 JSON 对象
  • --no-calibrate
    • 禁用自动校准
  • --strict-calibrate
    • 在过滤期间比较更多响应字段
  • --retry-count
    • 针对瞬态错误的重试次数

输出格式

人类可读的终端输出

默认模式针对交互式审查和分类进行了优化。

JSON

使用 --json 输出单个结构化文档。

JSON Lines

当你希望:

  • 增量处理结果
  • 在管道中存储证据
  • 将发现导入自己的工具中时,使用 --jsonl

载荷文件

payloads/ 目录包含多个技术使用的列表。

当前文件包括:

  • httpmethods
  • headers
  • ips
  • simpleheaders
  • endpaths
  • midpaths
  • useragents

你可以自定义这些文件以适应自己的目标或工作流。

限制

  • 原始 HTTP 技术目前不支持上游代理
  • 评分是启发式的,可能产生误报或漏报
  • 重定向评分目前对立即的重定向响应使用启发式,而非完全跟踪重定向链
  • 某些技术依赖于目标特定行为,在高度标准化的堆栈上可能显得嘈杂
  • 基于 curl 的技术要求 curl 在 PATH 中

安全与负责任使用

仅在你被授权测试的系统上使用此工具。

作者和贡献者不对滥用负责。你有责任遵守适用的法律、项目规则和组织政策。

贡献

欢迎贡献。

有用的贡献领域包括:

  • 错误修复
  • 更好的载荷
  • 新的绕过技术
  • 原始 HTTP 改进
  • 前端指纹识别
  • 文档和示例

在贡献一项技术之前,请优先考虑:

  • 清晰不同的解析或信任边界行为
  • 可复现的证据
  • 验证请求形状或重放行为的测试

许可证

本项目采用 MIT 许可证发布。详见 LICENSE。

下载工具
  • ip-encoding
    • 本地主机和可信地址变体(点分、整数、十六进制和 IPv6 形式)
  • payload-position
    • 在 URL 中显式标记的位置插入载荷
  • --retry-backoff-ms
    • 指数退避的基数(毫秒)
  • --host-delay
    • 同一主机上批量目标之间的延迟
  • --top-score-min
    • LIKELY BYPASS 的最低分数
  • --variation-score-min
    • INTERESTING VARIATIONS 的最低分数
  • --top
    • 每个摘要部分的最大条目数,或 0 禁用摘要