用途:该技能是一份面向 JavaScript 客户端与服务端的原型污染专家测试手册,用于在用户输入被合并进对象(查询解析器、JSON 请求体、深拷贝赋值)时开展安全测试。
主要能力:区分 proto 与 constructor.prototype 两条污染路径;识别深合并、递归 assign、JSON.parse 后接 Object.assign、URL 查询转嵌套对象等易受攻击的合并汇点;提供客户端 URL 片段探测(如 #proto[polluted]=1、#constructor[prototype][role]=admin)与服务端 JSON/表单探测(如 {"proto":{"polluted":true}}、{"constructor":{"prototype":{"polluted":true}}});给出基于 qs 参数(parameterLimit、ignoreQueryPrefix、allowDots、json spaces、exposedHeaders、status)的可观测信号检测表;整理 EJS escapeFunction、Timelion 表达式链(CVE-2019-7609)、Node child_process/NODE_OPTIONS 等利用链思路。
使用方式:先发送污染请求,再发送干净请求观察全局副作用是否持续;客户端需在无片段的新页面中检查 Object.prototype 是否残留测试键。工具方面列出 pp-finder、silent-spring、server-side-prototype-pollution、client-side-prototype-pollution、PPScan 等辅助项目。
适用场景:授权范围内的 Web/Node 应用安全评估、代码审计与漏洞验证。
限制:利用效果强依赖具体版本与配置;自动化工具可能对有状态应用产生副作用,须仅在授权目标上使用。具体安装命令与收费信息暂未提供。