← ClaudeAtlas

prototype-pollution-advancedlisted

Advanced prototype pollution playbook — server-side RCE, client-side gadgets, filter bypasses, and detection techniques. Companion to ../prototype-pollution/ for basics. Use when you've confirmed pollution and need to escalate to code execution or find framework-specific gadgets.
SecurityTalent/bugskill-ai · ★ 12 · AI & Automation · score 79
Install: claude install-skill SecurityTalent/bugskill-ai
# SKILL: Prototype Pollution Advanced — RCE & Gadget Exploitation > **AI LOAD INSTRUCTION**: Advanced prototype pollution escalation. Covers server-side RCE via template engines (EJS, Pug, Handlebars), Node.js child_process gadgets, client-side script gadgets, filter bypass patterns, and systematic detection. Load [../prototype-pollution/SKILL.md](../prototype-pollution/SKILL.md) first for fundamentals (merge sinks, `__proto__` vs `constructor.prototype`, basic probes). ## 0. RELATED ROUTING - [prototype-pollution](../prototype-pollution/SKILL.md) — **LOAD FIRST** for PP fundamentals, merge-sink detection, basic probes - [ssti-server-side-template-injection](../ssti-server-side-template-injection/SKILL.md) — template engine RCE context (PP often triggers through template gadgets) - [xss-cross-site-scripting](../xss-cross-site-scripting/SKILL.md) — client-side PP gadgets ultimately achieve XSS ### Advanced Reference Load [KNOWN_GADGETS.md](./KNOWN_GADGETS.md) for the comprehensive gadget table by framework/library with polluted properties, trigger conditions, impact, and affected versions. --- ## 1. SERVER-SIDE PP → RCE ### 1.1 Node.js child_process.spawn — Shell/ENV Injection When `child_process.spawn` or `child_process.fork` is called without explicit `env`/`shell` options, it inherits from `Object.prototype`: ```javascript // Vulnerable pattern (very common): const { execSync } = require('child_process'); execSync('ls'); // inherits shell, env from prototype //