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服务器。添加您的框架,自动获得合规性结果。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
分享

Http11Probe

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

同样的 215 项测试针对用 12 种语言编写的 41 个参考服务器运行,从 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 为您启动一个),然后将探测器指向它。

root@kitploit:~
dotnet run --project src/Http11Probe.Cli -- --host localhost --port 8080

选项

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

示例

root@kitploit:~
dotnet run --project src/Http11Probe.Cli -- --host localhost --port 8080 --output results.json

运行特定测试:

root@kitploit:~
dotnet run --project src/Http11Probe.Cli -- --test SMUG-CL-TE-BOTH --test SMUG-DUPLICATE-CL

结果在每个测试完成后流式传输到控制台,并在最后提供摘要:

root@kitploit:~
Score: 97/97  19 warnings  (146 tests, 35.5s)

在本地探测捆绑的服务器

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

root@kitploit:~
# 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 运行整个脚本:

root@kitploit:~
scripts/probe-local.sh --server ActixServer --docker-sudo

脚本选项

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

手动探测服务器

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

root@kitploit:~
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 服务器:

root@kitploit:~
dotnet run --project src/Http11Probe.Cli -- --host localhost --port 9000

构建

需要 .NET 10 SDK。

root@kitploit:~
dotnet build Http11Probe.slnx

CI

Probe workflow 在拉取请求和 workflow_dispatch 上运行。它会构建每个服务器的 Docker 镜像,探测它,并以 PR 评论的形式发布比较表格。

下载工具
标志描述
--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显示帮助