Skip to content
cccskills
FreePublished on GitHub

hunt-xxe

在授权渗透测试中挖掘 XML 外部实体注入(XXE)。当目标解析用户可控的 XML——SOAP、SAML、SVG、RSS/Atom、DOCX/XLSX、WSDL/XSL、含 XML 的反序列化——且可能启用了外部实体时使用。典型场景:外部实体读本地文件、SSRF 打内网、OOB 带外/报错型外带数据、XXE→反序列化链。

适用目标类型 Web / REST API / SOAP。触发场景包括用户说"测下 XXE""这个 XML/SVG 接口能不能读文件""XXE 打内网/带外""SAML 里能注实体吗"。输出:XXE 触发点 + 读到的文件/带外证据的 finding(含 killed 记录)。

The English summary is being prepared. Showing the original description.

See how to install

Files included (7)

  • SKILL.md3.8 KB
  • evidence/.gitkeep0 B
  • reference.md2.9 KB
  • tools/common.py2.8 KB
  • tools/hunt_xxe.py3.9 KB
  • tools/recon.sh2.5 KB
  • tools/validate.sh4.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

hunt-xxe · XML 外部实体注入猎杀

只解决 XXE 一类:找到解析用户 XML 的入口,判断外部实体是否被解析,用文件读取回显或OOB 带外证明。对无回显场景用外部 DTD 做 OOB/报错型外带。

XXE 常打到内网与本地文件,风险高。默认只读授权内的无害文件(如 /etc/hostname)+ 带外探测,不读敏感数据、不打未授权内网。payload、OOB 技巧、真实报告见 reference.md。

Scope(授权范围)

先确认授权。

落实:授权目标、可读文件边界、是否允许 OOB(需你的外部 HTTP/DTD 服务器与 OAST)、是否允许内网 SSRF。任一不清楚就停下问。

Goal

判定 XML 解析是否启用外部实体,达成本地文件读取 / SSRF / OOB 外带,给出可复现 PoC 与读到的内容/带外证据。

Workflow

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

1. scope-check

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

2. recon

  • 动作:找吃 XML 的入口——Content-Type: application/xml|text/xml|application/soap+xml、SVG/DOCX/XLSX 上传、SAML、RSS 导入、任何 body 是 XML 的 API。
  • 输出:recon/endpoints.json。
  • 命令:bash tools/recon.sh <target>。
  • 终止条件:至少 1 个 XML 入口。

3. hunt

  • 动作:对每个入口发分级 payload:①内部实体回显(判是否解析实体)②file:// 读授权文件 ③外部实体打 OAST(OOB 判可达)④无回显则挂外部 DTD 做报错/带外外带。
  • 输出:candidates.json。
  • 命令:python tools/hunt_xxe.py --input recon/endpoints.json --output candidates.json --oast <域名> [--read-file /etc/hostname]。
  • 终止条件:candidates.json 生成。

4. validate → report

  • 动作:过 7-Question Gate,通过的复现取证(保存读到的文件片段 / OAST 命中)。任一 NO → killed。
  • 命令:bash tools/validate.sh candidates.json。
  • 终止条件:每条 confirmed/killed,confirmed 有文件内容或带外证据。

7-Question Gate(任一 NO 则 KILL)

  1. 目标在授权 scope 内?
  2. 入口确实解析 XML(非当字符串存)?
  3. 有客观信号(实体被展开 / 读到文件 / OAST 命中 / 报错外带),非猜测?
  4. 达成越权读取或 SSRF(内部资源)?
  5. 可复现?
  6. 已留存文件内容/带外证据?
  7. 影响可陈述,且只读授权内无害文件?

Finding 输出格式

### <Title>
- Severity: Critical | High | Medium | Low | Info
- Asset: <XML 入口 + Content-Type>
- Reproduction: <完整 XML payload + 请求;OOB 用的 DTD>
- Impact: <文件读取 / SSRF / OOB 外带 / →反序列化链>
- Evidence: <evidence/ 读到的文件片段 / OAST 命中日志>
- Status: confirmed | killed(<第几问 NO>)

参考

分级 payload(内部实体 / file:// / OOB 外部 DTD / 报错型)、SVG/SAML/DOCX 载体、真实报告见 reference.md。

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

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

The English summary is being prepared. Showing the original description.

galact-byte/galact-Skills7Updated Oct 13, 2026

在授权渗透测试中挖掘认证/授权绕过(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 记录)。

The English summary is being prepared. Showing the original description.

galact-byte/galact-Skills7Updated Oct 13, 2026

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

The English summary is being prepared. Showing the original description.

galact-byte/galact-Skills7Updated Oct 13, 2026

在授权渗透测试中系统性挖掘命令注入与参数/标志注入(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 记录)。

The English summary is being prepared. Showing the original description.

galact-byte/galact-Skills7Updated Oct 13, 2026

在授权渗透测试中挖掘跨站请求伪造(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 记录)。

The English summary is being prepared. Showing the original description.

galact-byte/galact-Skills7Updated Oct 13, 2026

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

The English summary is being prepared. Showing the original description.

galact-byte/galact-Skills7Updated Oct 13, 2026

See all skills by galact-byte

Report a problem with this skill