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

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

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

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

工具目录

分类

查看所有分类
Loading categories
echteeteepee — Go 工具和 Nuclei 模板,用于测试 James Kettle 的 (CVE-2025-32094) "HTTP/1.1 必须消亡:desync 终局" | Kitploit
工具/GitHubGitHub/perplext/echteeteepee
漏洞扫描器动态分析 (沙盒)Web安全模糊测试渗透测试学习与教育
GitHubperplext/echteeteepee

echteeteepee

Go 工具和 Nuclei 模板,用于测试 James Kettle 的 (CVE-2025-32094) "HTTP/1.1 必须消亡:desync 终局"

查看仓库
511年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

HTTP/1 反同步漏洞测试工具

本仓库包含用于检测 HTTP/1 请求走私(反同步)漏洞的防御性安全工具,其基础是 PortSwigger 的 James Kettle 所进行的开创性研究。

研究致谢

本作品直接受以下研究启发,并实现了其中的技术:

  • 《HTTP/1 Must Die》 作者:James Kettle(PortSwigger 研究团队)
    • 原始研究:https://portswigger.net/research/http1-must-die
    • 研究员:James Kettle (@albinowax)
    • 公司:PortSwigger Web Security

这些工具中实现的攻击模式、技术和检测方法均基于 James Kettle 的开创性工作,他揭示了各大 Web 基础设施提供商在 HTTP/1.1 协议实现中存在的根本性缺陷。

研究影响

James Kettle 的研究证明了影响以下机构的漏洞:

  • Cloudflare、T-Mobile、GitLab、Netlify、Akamai
  • 已获得超过 35 万美元的漏洞赏金
  • 推动了对全球 Web 关键基础设施的修复

概述

HTTP/1.1 对请求边界的定义存在歧义,对于请求的开始和结束位置,造成了 James Kettle 所称的「极端歧义」。这导致前端与后端服务器之间的解析器存在差异,从而可实现复杂的请求走私攻击。这些工具有助于识别此类漏洞,用于防御性安全测试。

包含的工具

1. Go 测试工具(http1-desync-test.go)

一个全面的 HTTP/1 反同步漏洞测试器,实现了多种攻击模式。

功能特性

  • V-H(可见-隐藏)反同步:测试可见-隐藏解析器差异
  • 0.CL(零 Content-Length)反同步:利用 Content-Length: 0 处理差异
  • Expect 标头反同步:利用 Expect: 100-continue 进行请求走私
  • 双重反同步:测试响应队列投毒漏洞
  • CL.TE 反同步:测试 Content-Length 与 Transfer-Encoding 的冲突

安装

root@kitploit:~
# Clone the repository
git clone https://github.com/nconsolo/echteeteepee.git
cd echteeteepee

# Install dependencies
go mod download

# Build the tool
go build -o http1-desync-test http1-desync-test.go

使用方法

root@kitploit:~
# Test all attack patterns
./http1-desync-test -target https://example.com

# Test specific attack pattern
./http1-desync-test -target https://example.com -test vh

# Enable verbose output
./http1-desync-test -target https://example.com -verbose

# Set custom timeout
./http1-desync-test -target https://example.com -timeout 10s

命令行选项

  • -target:目标 URL(必需)
  • -test:测试类型:all、vh、0cl、expect、double、clte(默认:all)
  • -timeout:请求超时(默认:5s)
  • -verbose:启用详细输出以查看原始请求/响应

2. Nuclei 模板(nuclei-templates/http1-desync.yaml)

用于 Nuclei 的自动化扫描模板,可大规模检测 HTTP/1 反同步漏洞。

安装

root@kitploit:~
# Install Nuclei (if not already installed)
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

# Copy template to Nuclei templates directory
cp nuclei-templates/http1-desync.yaml ~/.nuclei-templates/

使用方法

root@kitploit:~
# Scan single target
nuclei -u https://example.com -t nuclei-templates/http1-desync.yaml

# Scan multiple targets
nuclei -l targets.txt -t nuclei-templates/http1-desync.yaml

# Scan with rate limiting
nuclei -u https://example.com -t nuclei-templates/http1-desync.yaml -rl 10

攻击模式详解

所有攻击模式均基于 James Kettle 的研究成果和经过验证的利用技术。

V-H(可见-隐藏)反同步

来源:James Kettle 的《HTTP/1 Must Die》研究
利用前端代理与后端服务器看到不同请求边界的差异。攻击载荷在前端看来是标头数据,但其中嵌入了隐藏请求,后端则会将其解释为独立的请求。

研究实例:用于演示主流 CDN 提供商中的解析器差异。

0.CL(零 Content-Length)反同步

来源:James Kettle 发现的 IIS 和 T-Mobile 漏洞
利用服务器之间对 Content-Length: 0 标头的不同解释。当 CL=0 时,某些服务器会忽略请求体,而另一些服务器仍会处理它,从而导致请求边界混淆。

实际影响:已成功利用于 IIS 服务器和 T-Mobile 基础设施。

Expect 标头反同步

来源:James Kettle 针对 T-Mobile 和 LastPass 的研究
利用 Expect: 100-continue 机制中前端与后端对继续处理方式的不同。这为在前端等待 100-continue 响应期间走私请求创造了机会。

研究背景:已针对 T-Mobile 和 LastPass 的认证系统进行了演示。

双重反同步(响应队列投毒)

来源:James Kettle 的高级反同步方法
通过串联多个反同步攻击来投毒响应队列,使攻击者能够控制其他用户收到的响应。这是该研究中最复杂的攻击之一。

关键发现:可通过向合法用户提供恶意响应来实现完全接管网站。

CL.TE / TE.CL 冲突

来源:James Kettle 关于 HTTP/1.1 核心歧义性的研究
利用 Content-Length 与 Transfer-Encoding: chunked 标头之间的冲突。不同服务器对这些标头的优先级处理不同,从而造成解析器差异,进而实现请求走私。

基础:这些冲突代表了 James Kettle 在 HTTP/1.1 规范中发现的根本性缺陷。

检测指标

基于 James Kettle 的研究方法,这些工具会寻找以下迹象:

主要指标(来自原始研究)

  • 意外的 404/403/401 响应:表明走私请求到达了未授权端点
  • 响应中包含 admin/受限路径:表明请求走私已成功到达受保护区域
  • 单个连接中出现多个 HTTP 响应:响应队列投毒的迹象
  • 解析器错误响应(400 Bad Request):可能表明反同步混淆成功

高级检测方法

  • 响应时序异常:表明服务器端处理混乱的延迟
  • Content-Length 不匹配:响应体长度不正确
  • 标头注入痕迹:响应中存在走私标头的证据
  • 缓存投毒指标:影响其他用户的意外缓存响应

漏洞严重性评估

遵循 James Kettle 的影响分类:

  • 严重:响应队列投毒可实现用户身份冒充
  • 高危:向 admin 端点进行请求走私
  • 中危:无利用证明的解析器差异
  • 低危:无安全影响的良性反同步行为

负责任的使用

这些工具专为以下用途设计:

  • 对已授权系统进行防御性安全测试
  • 在具备适当权限的情况下进行漏洞评估
  • 在受控环境中进行安全研究

请勿将此类工具用于:

  • 测试你不拥有或未经授权测试的系统
  • 恶意目的或未经授权的访问
  • 在未采取适当预防措施的生产环境中

技术实现细节

连接管理

遵循 James Kettle 的方法,这些工具会保持持久的 HTTP/1.1 连接,以正确测试反同步条件。每项测试都会创建单个 TCP 连接并发送多个请求,以观察解析差异。

请求构造

攻击载荷基于 James Kettle 在其研究中使用的精确模式精心构造,确保与他记录的服务器行为兼容。

响应分析

检测逻辑实现了 James Kettle 在 35 万美元以上漏洞赏金研究中用于识别成功反同步攻击的相同指标。

漏洞影响与修复

基于 James Kettle 的研究发现与建议:

影响类别

  1. 完全接管网站:通过响应队列投毒实现
  2. 凭据窃取:通过向认证端点进行请求走私实现
  3. 缓存投毒:向合法用户提供恶意内容
  4. 权限提升:通过走私请求访问 admin 端点

修复策略(依据 James Kettle)

  1. 主要方案:将上游连接迁移至 HTTP/2
  2. 过渡方案:启用 HTTP 请求规范化
  3. 检测:部署定期的反同步漏洞扫描
  4. 监控:实施连接级异常检测

测试建议

  • 在维护窗口期内进行测试,以避免中断服务
  • 扫描生产系统时使用速率限制
  • 在进行大规模测试之前与安全团队协调
  • 使用 James Kettle 的漏洞分类记录发现

参考资料与致谢

主要研究

  • 《HTTP/1 Must Die》 - James Kettle(PortSwigger 研究团队)
    https://portswigger.net/research/http1-must-die
  • 《HTTP Desync Attacks: Request Smuggling Reborn》 - James Kettle
    https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn
  • Black Hat USA 2019 演讲 - James Kettle
    "HTTP Desync Attacks: Smashing into the Cell Next Door"

其他资源

  • HTTP 请求走私 - PortSwigger Academy
  • Burp Suite HTTP Request Smuggler Extension
  • CWE-444:HTTP 请求解释不一致

工具致谢

  • James Kettle (@albinowax):原始研究与攻击方法论
  • PortSwigger:研究发布与 HTTP Request Smuggler 工具
  • ProjectDiscovery:Nuclei 扫描框架

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件

免责声明

这些工具仅用于教育和防御性安全目的。用户有责任确保在测试任何系统之前已获得适当授权。作者不对因使用这些工具而造成的滥用或损害承担任何责任。

下载工具