Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Http11Probe — 一个开放测试平台,可根据RFC 9110/9112要求、请求走私向量和畸形输入处理来探测HTTP/1.1服务器。添加您的框架,自动获得合规性结果。 | Kitploit
工具/GitHubGitHub/mda2av/http11probe
漏洞分析API安全测试Web安全模糊测试错误配置
GitHubmda2av/http11probe

Http11Probe

一个开放测试平台,可根据RFC 9110/9112要求、请求走私向量和畸形输入处理来探测HTTP/1.1服务器。添加您的框架,自动获得合规性结果。

查看仓库
2410358天前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
分享

Http11Probe

Http11Probe 是一个针对 HTTP/1.1 服务器的合规性与安全性测试工具。它通过原始 TCP 套接字向服务器发送畸形、歧义和超大请求,并依据 RFC 9110 和 RFC 9112 的实际要求检查服务器的响应。这些都是一些棘手的情况,比如裸 LF 行结尾、过时的行折叠、CL/TE 请求走私、分块框架技巧、超大头部以及 NUL 字节,在这些情况下,严格解析器和宽松解析器开始产生分歧。

同样的 215 项测试针对用 12 种语言编写的 42 个参考服务器运行,从 Nginx、Apache 和 Envoy 到 Kestrel、Gin、Actix,以及 Node、Bun 和 Deno 中的内置服务器。每个结果都根据规范中的 MUST/SHOULD/MAY 措辞进行评分,并标记为 Pass、Fail 或 Warn。Warn 仅表示 RFC 允许严格和宽松两种行为,因此两者都没有错。

你可以在 http-probe.com 找到完整文档、带有 RFC 引用的逐项测试词汇表,以及每个服务器的实时结果矩阵。

用法

该探针与目标无关。它测试已经在 --host:--port 上监听的任何 HTTP/1.1 服务器,并且没有用于选择框架的标志。先启动服务器(或者让 probe-local.sh 为你启动一个),然后将探针指向它。

dotnet run --project src/Http11Probe.Cli -- --host localhost --port 8080

选项

标志描述默认值
--host目标主机名或 IP 地址localhost
--port目标端口号8080
--category仅运行此类别中的测试(Compliance、Smuggling、MalformedInput、Normalization、Cookies、Capabilities)全部
--test仅运行特定的测试 ID,不区分大小写(可重复)全部
--timeout每个测试的连接和读取超时时间(秒)5
--output将 JSON 结果写入文件无
--verbose, -v打印每个测试的原始服务器响应关闭

示例

dotnet run --project src/Http11Probe.Cli -- --host localhost --port 8080 --output results.json

运行特定测试:

dotnet run --project src/Http11Probe.Cli -- --test SMUG-CL-TE-BOTH --test SMUG-DUPLICATE-CL

每个测试完成时,结果会流式输出到控制台,并在最后给出摘要:

Score: 97/97  19 warnings  (146 tests, 35.5s)

在本地探测捆绑的服务器

该探针只发送请求,不启动服务器。要探测 src/Servers/ 下的某个捆绑服务器,请使用 scripts/probe-local.sh。它执行与 CI 流水线相同的操作:构建服务器的 Docker 镜像,在 --network host 上运行它,等待其启动,探测它,然后将其拆除。

# Probe one server by its directory name under src/Servers/, e.g. ActixServer
scripts/probe-local.sh --server ActixServer

# Probe every bundled server
scripts/probe-local.sh --all

--server 的值是目录名(ActixServer),而不是显示名称(Actix)。如果你的 Docker 守护进程需要 root 权限,请添加 --docker-sudo,这样你就不必用 sudo 运行整个脚本:

scripts/probe-local.sh --server ActixServer --docker-sudo

脚本选项

标志描述
--server <Dir>按 src/Servers/ 下的目录名探测单个服务器(例如 NginxServer)
--all探测 src/Servers/*/probe.json 下的每个服务器
--port <Port>目标端口(默认:8080)
--skip-build跳过 dotnet build(假设已存在 Release 构建)
--verbose将 --verbose 传递给 CLI
--docker-sudo通过 sudo 运行 Docker 命令(让你无需 sudo 即可运行脚本)
-h, --help显示帮助

它会写入 probe-<ServerDir>.json(每个服务器一个),以及用于本地渲染的 probe-data.js 和 docs/static/probe/data.js。你需要 jq、docker、curl、python3 和 .NET 10 SDK。

手动探测服务器

probe-local.sh 只是一个便捷包装器。如果你更愿意手动操作,比如为了在多次探测运行之间保持服务器运行,可以自己构建并运行容器,然后将探针指向它。请从仓库根目录运行这些命令,因为那是 Docker 构建上下文:

docker build -t probe-actix -f src/Servers/ActixServer/Dockerfile .
docker run -d --name probe-target --network host probe-actix
dotnet run --project src/Http11Probe.Cli -- --host localhost --port 8080
docker rm -f probe-target

你也可以将探针指向你已经在运行的任何 HTTP/1.1 服务器:

dotnet run --project src/Http11Probe.Cli -- --host localhost --port 9000

构建

需要 .NET 10 SDK。

dotnet build Http11Probe.slnx

CI

Probe 工作流 在拉取请求和 workflow_dispatch 上运行。它构建每个服务器的 Docker 镜像,探测它,并将比较表作为 PR 评论发布。

下载工具