原型污染进阶利用
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/prototype-pollution-advanced-lr-00z1。
技能介绍
解决什么问题
原型污染本身通常只是漏洞链的起点。攻击者借助合并型 sink 写入 __proto__ 或 constructor.prototype 后,真正的危害取决于后续能触发什么。实战中常见的两个难题:基础探测只能确认污染存在,无法判断影响范围;不同框架对污染属性的响应差异很大,逐个手工排查 gadget 成本极高。本技能面向「污染已确认、需要继续推进」的阶段,解决从污染到 RCE / XSS 的落地路径问题。
核心能力与工作流程
- 前置依赖:先加载基础技能,获取合并 sink 定位、
__proto__与constructor.prototype的区别、基础探测 payload 等知识,本技能不重复基础内容。 - 服务端 RCE 链:围绕 EJS、Pug、Handlebars 等模板引擎的污染触发场景,结合 Node.js
child_processgadget 演示命令执行。 - 客户端利用链:整理浏览器端会被污染属性影响的脚本 gadget,最终指向 XSS 落地。
- 过滤绕过模式:针对键名黑名单、递归合并限制等常见防护,提供可绕过的污染写入写法。
- 系统化检测:给出从 sink 到 gadget 的排查步骤,配合
KNOWN_GADGETS.md中的 gadget 表按框架、污染属性、触发条件、影响和受影响版本逐项核对。
适用边界与注意点
- 本技能不含基础原理,没接触过原型污染的读者应先从基础技能入手。
- gadget 表依赖具体框架与版本,表中触发条件和影响范围仅供参考,实战需在目标环境中验证。
- 涉及 RCE 与 XSS 的 payload 仅用于授权测试与防御研究,请勿在未授权系统上使用。
- 技能内容偏向利用与检测方法论,不包含针对特定产品的完整扫描器实现。
使用场景
- 安全审计中已确认应用存在原型污染,需要判断能否借助模板引擎或 child_process gadget 升级为服务端 RCE。
- 渗透测试时发现可污染对象属性,想按框架和版本核对 KNOWN_GADGETS.md 的触发条件与影响范围。
- 前端审计中确认原型污染写入,需要寻找浏览器端脚本 gadget 的 XSS 落地路径。
- 代码修复时遇到键名过滤或合并限制,需要验证 __proto__ 污染绕过方案是否真的有效。
适合人员
- 应用安全工程师:正在审计 Node.js 或全栈应用,需要把原型污染线索升级为可复现的 RCE/XSS 报告。
- 渗透测试人员:在授权测试中已拿到污染写入点,希望快速匹配模板引擎、child_process 或前端脚本 gadget。
- 后端开发工程师:在排查依赖合并、模板渲染或对象处理漏洞,需要确认污染属性影响范围并设计修复验证。
- 前端安全研究员:在审计浏览器侧对象处理与脚本执行链路,需要评估污染属性能否造成 XSS。