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

hunt-prototype-pollution

在授权渗透测试中挖掘 JavaScript 原型污染(prototype pollution,服务端 Node.js 与客户端)。

当目标把用户可控的键名递归合并进对象(merge/extend/set/clone、JSON body、query 解析)时使用——典型场景:用 `__proto__`/`constructor.prototype` 注入属性,污染全局原型,进而 DoS、改逻辑、配合 gadget 提权到 XSS/RCE。

适用目标类型 Web / REST API(Node.js) / 前端。触发场景包括用户说"测下原型污染""这个 merge 能不能 __proto__""污染原型打 RCE/XSS""lodash/jquery 有没有污染点"。输出:污染点 + 可用 gadget 判定 + 反射证据的 finding(含 killed 记录)。

インストール方法を見る

含まれるファイル(7)

  • SKILL.md4.0 KB
  • evidence/.gitkeep0 B
  • reference.md3.3 KB
  • tools/common.py2.8 KB
  • tools/hunt_protopollution.py4.1 KB
  • tools/recon.sh2.5 KB
  • tools/validate.sh4.0 KB

SKILL.md(原文)

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

hunt-prototype-pollution · 原型污染猎杀

只解决原型污染一类:找到"用户可控键名进入递归合并/属性赋值"的点,用 __proto__/constructor.prototype 往 Object.prototype 注入属性,再看能否被下游 gadget 放大(模板/HTML sink→XSS、spawn/sourceURL→RCE、逻辑标志→提权)。判定靠注入的属性在响应/行为中被观测到。

污染是全局副作用,可能影响其他用户请求。默认注入无害探针属性(如 huntpp),确认污染后再评估 gadget,破坏性/持久化操作需授权。污染向量、常见 gadget、真实报告见 reference.md。

Scope(授权范围)

先确认授权。 全局原型污染可能影响并发请求与后续行为。

落实:授权目标、测试窗口(污染可能残留到进程重启)、允许深度(仅探针 / 允许 gadget PoC)。任一不清楚就停下问。

Goal

判定用户可控键名能否污染 Object.prototype,并评估可达 gadget 与影响(DoS / 逻辑绕过 / XSS / RCE),留存注入属性被反射或行为改变的证据。

Workflow

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

1. scope-check

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

2. recon

  • 动作:枚举吃 JSON body / 深合并 / query 的入口(配置、设置、批量更新、merge/extend 风格 API)。
  • 输出:recon/endpoints.json。
  • 命令:bash tools/recon.sh <target>。
  • 终止条件:至少 1 个候选入口。

3. hunt

  • 动作:对每个入口发多种污染向量(__proto__[huntpp]、constructor[prototype][huntpp]、JSON 嵌套 __proto__),再请求一个回显对象属性的端点或复用同接口,看 huntpp 是否出现在返回/默认值里。
  • 输出:candidates.json。
  • 命令:python tools/hunt_protopollution.py --input recon/endpoints.json --output candidates.json [--probe-url <回显端点>]。
  • 终止条件:candidates.json 生成。

4. validate → report

  • 动作:过 7-Question Gate,通过的评估 gadget(是否有 sink 放大)取证。任一 NO → killed。
  • 命令:bash tools/validate.sh candidates.json。
  • 终止条件:每条 confirmed/killed。

7-Question Gate(任一 NO 则 KILL)

  1. 目标在授权 scope 内?
  2. 键名确实进入递归合并/属性赋值?
  3. 有客观信号(注入属性被反射 / 默认值被改 / 已知 gadget 触发),非猜测?
  4. 达成了全局原型污染(影响其他对象),而非局部覆盖?
  5. 可复现(考虑污染残留,验证新连接仍受影响)?
  6. 已留存证据?
  7. 影响可陈述,且未做破坏性/持久化污染?

Finding 输出格式

### <Title>
- Severity: Critical | High | Medium | Low | Info
- Asset: <入口 + 参数/JSON 路径>
- Reproduction: <污染向量 payload + 观测到 huntpp 的请求>
- Impact: <DoS / 逻辑绕过 / XSS / RCE(gadget)>
- Evidence: <evidence/ 原始 payload + 反射证据>
- Status: confirmed | killed(<第几问 NO>)

参考

污染向量、服务端/客户端 gadget、检测特征、真实报告见 reference.md。

レビュー

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

同じリポジトリのスキル

概要と使いどころ

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

在授权渗透测试中挖掘认证/授权绕过(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月2日 更新

在授权渗透测试中挖掘 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月2日 更新

在授权渗透测试中系统性挖掘命令注入与参数/标志注入(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月2日 更新

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

在授权渗透测试中挖掘不安全反序列化(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月2日 更新

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

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