本文へ移動
cccskills
無料GitHub で公開

hunt-request-smuggling

在授权渗透测试中系统性挖掘 HTTP 请求走私(HTTP Request Smuggling / desync)。

当目标前面有反向代理/CDN/负载均衡(前端)转发给后端应用,且怀疑前后端对 Content-Length 与 Transfer-Encoding、畸形头、chunked trailer 的解析不一致时使用——典型场景:想毒化后端 socket 劫持他人请求、批量窃取会话 Cookie/令牌、缓存投毒、绕过前端访问控制。

适用目标类型 Web / REST API(有分层代理)。触发场景包括用户说"测下有没有 HTTP 走私/desync""这个 CDN 后端解析一致吗""能不能毒 socket 偷别人 cookie""CL.TE / TE.CL 打一下"。输出:带 desync 时序证据与原始报文的 finding 报告(含 killed 记录)。

インストール方法を見る

含まれるファイル(7)

  • SKILL.md5.4 KB
  • evidence/.gitkeep0 B
  • reference.md5.6 KB
  • tools/common.py2.8 KB
  • tools/hunt_smuggling.py5.5 KB
  • tools/recon.sh2.6 KB
  • tools/validate.sh4.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

hunt-request-smuggling · HTTP 请求走私猎杀

只解决 HTTP 请求走私(前后端解析分歧导致的 desync) 一类。核心是找到"前端按一种方式切分请求边界、后端按另一种方式切分"的差异点,用时序探测先判活,再谨慎做 socket 毒化验证。

走私会影响其他用户的请求,破坏性和法律风险都高。默认只做自打自(self-smuggling)时序探测确认 desync,不在生产上毒化真实用户 socket,除非 scope 明确授权。关键探测走 tools/ 脚本(raw socket,curl 发不了畸形头)。绕过变体与真实报告见 reference.md。

Scope(授权范围)

先确认授权,再发探测。 走私探测本身会向后端注入"半个请求",可能污染连接。

开工前落实:

  • 授权目标与是否允许 socket 毒化验证(区别于只做时序判活)。
  • 测试窗口(低峰期),避免影响真实用户。
  • 允许的验证深度:仅 desync 时序确认 / 允许自请求走私 / 允许受控毒化。

任一不清楚就停下问。绝不在未授权目标或高峰期做毒化。

Goal

判定前端与后端是否对请求边界解析不一致(CL.TE / TE.CL / TE.TE / 畸形头 / trailer),给出可复现的 desync PoC 与影响(socket 毒化劫持请求、偷 Cookie/令牌、缓存投毒、绕前端 ACL),并留存原始报文与时序证据。

Workflow

scope-check → recon → hunt → validate → report。

1. scope-check

  • 输入:授权范围 + 是否允许毒化。
  • 动作:写入 evidence/scope.txt(含 allow_poison 标记与测试窗口)。
  • 命令:bash tools/recon.sh <target> --scope-only。
  • 终止条件:evidence/scope.txt 存在且授权明确,否则 KILL。

2. recon

  • 输入:in-scope 目标。
  • 动作:识别分层结构——是否有 CDN/反代(看 Via、X-Cache、Server、CF-* 头)、支持的 HTTP 版本、是否 keep-alive 复用连接。
  • 输出:recon/frontend.json(前端指纹、是否值得试走私)。
  • 命令:bash tools/recon.sh <target>。
  • 终止条件:确认存在前后端分层且 keep-alive;否则走私面弱,记录后结束。

3. hunt

  • 输入:目标 + recon/frontend.json。
  • 动作:按 reference.md 的 desync 家族逐个发时序差分探测:正常基线 vs CL.TE vs TE.CL vs 畸形分隔(空格/Tab/CR-only/无冒号 trailer)。以后端挂起超时 vs 快速返回的时序差判 desync。
  • 输出:candidates.json(每个变体:延迟、状态、疑似 desync 类型)。
  • 命令:python tools/hunt_smuggling.py --target <url> --output candidates.json。
  • 终止条件:candidates.json 生成。无时序差异则记 killed 结束。

4. validate → report

  • 输入:candidates.json。
  • 动作:对疑似 desync 变体过 7-Question Gate,通过的做受控复现(自请求走私取证;毒化仅在 allow_poison 时)。任一 NO → killed。
  • 输出:evidence/(原始 desync 报文 + 时序)+ report/candidates.md。
  • 命令:bash tools/validate.sh candidates.json。
  • 终止条件:每个变体有 confirmed/killed 结论,confirmed 项有原始报文与可复现时序。

7-Question Gate(任一 NO 则 KILL)

  1. 目标在授权 scope 内、且在允许的测试窗口?
  2. 目标确有前后端分层(代理/CDN + 后端)且keep-alive 复用?
  3. 观测到稳定的时序差分(后端挂起 vs 正常),而非网络抖动?
  4. 差异确由解析分歧引起(能指出是 CL.TE/TE.CL/哪种畸形)?
  5. desync 可复现(多次稳定,非偶发)?
  6. 已留存原始畸形报文 + 时序证据?
  7. 能陈述影响(毒 socket 劫持/偷令牌/缓存投毒/绕 ACL),且验证方式未伤害真实用户?

Finding 输出格式

### <Title>
- Severity: Critical | High | Medium | Low | Info
- Asset: <目标 + 前端指纹>
- Reproduction: <desync 变体 + 原始畸形报文 + 时序数据>
- Impact: <socket 毒化 / 令牌窃取 / 缓存投毒 / ACL 绕过>
- Evidence: <evidence/ 下原始报文 + 时序日志>
- Status: confirmed | killed(<第几问 NO + 原因>)

参考

desync 家族(CL.TE / TE.CL / 空格-Tab-CR 畸形 / 无冒号 trailer / CRLF 注入)、检测特征、真实报告见 reference.md——按 recon 出的前端类型定向查阅。深度验证建议配合 Burp Repeater(关自动更新CL) 或 smuggler.py,本 skill 脚本负责时序判活与证据留存。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Use when an agent must decide whether to proceed autonomously, ask for clarification, request approval, or select an appropriate verification scope for a coding or documentation task

日本語の概要は準備中です。原文の説明を表示しています。

galact-byte/galact-Skills72026年10月13日 更新

在授权渗透测试中挖掘认证/授权绕过(authentication & authorization bypass)。当目标的登录、SSO/OAuth/SAML、2FA、会话、密码重置、邮箱验证等鉴权环节可能被逻辑缺陷或解析差异绕过时使用——典型场景:SAML 签名/entityId 绕过、OAuth `response_type`/`redirect_uri` 篡改窃取 token、邮箱规范化/预验证绕过、2FA 可预测/可跳过、会话类型混淆。适用目标类型 Web / REST API / SSO。触发场景包括用户说"测下认证绕过""这个 SAML/OAuth 有没有问题""能不能跳过 2FA""邮箱验证能绕吗"。输出:绕过路径 + 越权访问证据的 finding(含 killed 记录)。

日本語の概要は準備中です。原文の説明を表示しています。

galact-byte/galact-Skills72026年10月13日 更新

在授权渗透测试中挖掘 Web 缓存投毒与缓存欺骗(web cache poisoning / cache deception)。当目标前有缓存层(CDN/反代/Varnish)且缓存键未覆盖某些影响响应的输入(unkeyed header/参数/解析差异)时使用——典型场景:X-Forwarded-Host 反射进响应被缓存、unkeyed 参数、缓存键规范化差异、静态扩展名欺骗缓存私有页。适用目标类型 Web / CDN。触发场景包括用户说"测下缓存投毒""X-Forwarded-Host 能不能毒缓存""缓存欺骗看一下""unkeyed 输入有没有"。输出:投毒/欺骗可行性 + 被缓存证据的 finding(含 killed 记录)。

日本語の概要は準備中です。原文の説明を表示しています。

galact-byte/galact-Skills72026年10月13日 更新

在授权渗透测试中系统性挖掘命令注入与参数/标志注入(OS command injection、argument/flag injection、外部程序 delegate 注入)。当目标把用户输入拼进 shell 命令、或作为参数传给 git/tar/curl/ffmpeg/ImageMagick 等外部程序、或经模板/eval 执行时使用——典型场景:文件名/路径/URL/ref 参数最终进了命令行,想拿 RCE 或任意文件读写。适用目标类型 Web / REST API / CI 系统。触发场景包括用户说"测下命令注入/RCE""这个参数会不会进 shell""git/tar/ffmpeg 参数能注入吗""上传头像触发 ImageMagick 了"。输出:带原始请求/命令回显或带外证据的 finding 报告(含 killed 记录)。

日本語の概要は準備中です。原文の説明を表示しています。

galact-byte/galact-Skills72026年10月13日 更新

hunt-csrf

無料

在授权渗透测试中挖掘跨站请求伪造(CSRF)及其防护绕过。当目标存在状态变更操作(改邮箱/密码/角色/设置、转账、增删)而 CSRF 防护缺失或可绕过时使用——典型场景:无 token/token 不校验、SameSite=Lax 被 GET 或子域绕过、Content-Type text/plain 避开 preflight、cookie 注入伪造 token、Flash/307 重定向绕 CORS、Login CSRF。适用目标类型 Web / REST API。触发场景包括用户说"测下 CSRF""这个改密码有没有 CSRF 防护""SameSite 能绕吗""token 校验严不严"。输出:CSRF 可行性 + PoC 的 finding(含 killed 记录)。

日本語の概要は準備中です。原文の説明を表示しています。

galact-byte/galact-Skills72026年10月13日 更新

在授权渗透测试中挖掘不安全反序列化(insecure deserialization)。当目标把用户可控数据交给 unserialize/Marshal/pickle/ObjectInputStream/BinaryFormatter/YAML.load 等还原成对象时使用——典型场景:cookie/token/viewstate/隐藏字段里出现序列化数据、导入文件触发对象还原、想借 gadget chain 拿 RCE。适用目标类型 Web / REST API(PHP/Ruby/Python/Java/.NET)。触发场景包括用户说"测下反序列化""这个 cookie 是不是序列化对象""能不能 gadget chain 打 RCE""phar/Marshal/pickle 打一下"。输出:识别出的序列化落点 + gadget 可用性判定 + 带外/回显证据的 finding(含 killed 记录)。

日本語の概要は準備中です。原文の説明を表示しています。

galact-byte/galact-Skills72026年10月13日 更新

galact-byte のスキルをすべて見る

このスキルの問題を報告する