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

hunt-deserialization

在授权渗透测试中挖掘不安全反序列化(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 记录)。

インストール方法を見る

含まれるファイル(7)

  • SKILL.md4.1 KB
  • evidence/.gitkeep0 B
  • reference.md4.0 KB
  • tools/common.py2.8 KB
  • tools/hunt_deser.py3.6 KB
  • tools/recon.sh2.5 KB
  • tools/validate.sh4.0 KB

SKILL.md(原文)

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

hunt-deserialization · 不安全反序列化猎杀

只解决不安全反序列化一类:识别"用户可控数据被还原成对象"的落点,判断序列化格式与是否有可用 gadget chain。核心是先靠格式指纹定位落点,再用带外/时序探可达性,gadget 利用谨慎且授权后做。

反序列化 gadget 直达 RCE,破坏性极高。默认只做格式识别 + 带外探测(不投放破坏性 gadget),完整 RCE 利用仅在 scope 明确授权时进行。格式指纹、各语言 gadget 与真实报告见 reference.md。

Scope(授权范围)

先确认授权。 gadget PoC 可能在目标执行代码。

落实:授权目标、允许深度(仅识别/带外探测 / 允许 gadget PoC)、OAST 地址、禁止破坏性/持久化 gadget。任一不清楚就停下问。

Goal

判定用户可控数据是否进入不安全反序列化,识别语言/格式,给出可复现 PoC 与影响(RCE / 对象注入 / 认证绕过),并留存带外命中或回显证据。

Workflow

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

1. scope-check

  • 动作:写 evidence/scope.txt(allow_gadget / oast_domain)。
  • 命令:bash tools/recon.sh <target> --scope-only。
  • 终止条件:scope 明确,否则 KILL。

2. recon

  • 动作:枚举 cookie/token/viewstate/隐藏字段/导入功能,抓取其值做格式指纹(见 reference.md)。
  • 输出:recon/endpoints.json。
  • 命令:bash tools/recon.sh <target>。
  • 终止条件:至少 1 个疑似序列化落点,否则记录结束。

3. hunt

  • 动作:对落点用 tools/hunt_deser.py 判定格式(PHP O:/Java rO0/pickle/.NET/YAML),并发无害带外探针(能触发外呼的最小 gadget,如 PHP phar/Ruby URI gadget 打 OAST)判可达性。
  • 输出:candidates.json。
  • 命令:python tools/hunt_deser.py --input recon/endpoints.json --output candidates.json --oast <域名>。
  • 终止条件:candidates.json 生成。

4. validate → report

  • 动作:过 7-Question Gate,通过的在授权下做 gadget PoC 取证。任一 NO → killed。
  • 命令:bash tools/validate.sh candidates.json。
  • 终止条件:每条 confirmed/killed,confirmed 有带外/回显证据。

7-Question Gate(任一 NO 则 KILL)

  1. 目标在授权 scope 内?
  2. 数据确实被反序列化成对象(格式指纹 + 行为佐证)?
  3. 有客观信号(带外命中 / 报错泄露类名 / 时延),非猜测?
  4. 存在可用 gadget 或对象注入达成越权?
  5. 可复现?
  6. 已留存证据(带外/回显/原始 payload)?
  7. 影响可陈述,且 PoC 未做破坏性/持久化?

Finding 输出格式

### <Title>
- Severity: Critical | High | Medium | Low | Info
- Asset: <落点:cookie/参数/导入>
- Reproduction: <格式 + payload + 请求;带外域名/时延>
- Impact: <RCE / 对象注入 / 认证绕过>
- Evidence: <evidence/ 原始 payload + OAST 命中 / 类名报错>
- Status: confirmed | killed(<第几问 NO>)

参考

格式指纹(PHP/Java/Python/.NET/Ruby/YAML)、各语言 gadget 入口、检测特征、真实报告见 reference.md——按 recon 出的语言定向查阅。

レビュー

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

同じリポジトリのスキル

概要と使いどころ

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日 更新

在授权测试中核验 Node.js 权限模型(--permission / --experimental-permission,及旧 policy.json)能否被内部 API 绕过。当目标依赖 Node.js Permission Model 做沙箱隔离、需要判断给定 Node 版本下是否存在已知逃逸(inspector 断点、process.binding、fs.statfs/openAsBlob、process.mainModule.require、Module._load、path.resolve 覆盖、Uint8Array 路径、符号链接重命名)时使用。适用目标类型 Node.js 运行时 / 依赖权限模型的服务或 CLI。触发场景包括用户说"这个 Node 权限模型靠谱吗""--permission 能被绕过吗""测下 policy.json 沙箱逃逸""inspector/process.binding 能突破权限吗"。输出:给定 Node 版本下各绕过原语的命中矩阵 + 建议升级版本(含 killed 记录)。

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

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

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

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