用途:在 XSS 或数据外带被 CSP 阻断时,用于分析策略弱点、寻找可信域与指令缺失带来的绕过路径。
主要能力:按指令给出绕过技术,包括 script-src 'self'(JSONP、上传 JS、DOM XSS、路径混淆)、CDN 白名单(jsdelivr、unpkg、cdnjs、.googleapis.com、.cloudfront.net)、'unsafe-eval'、'nonce-xxx'(重用、CRLF 注入、悬空标记窃取、DOM clobbering、脚本小工具)、'strict-dynamic'(base-uri 劫持、可信脚本中的 DOM XSS);以及 Angular/Vue 模板注入、缺失 object-src、base-uri、frame-ancestors 的利用。还涵盖 meta 标签 CSP 的限制、CSP 下外带通道(DNS 预取、WebRTC、prefetch、CSS 注入、a ping、报表泄露、表单提交)和决策树。
使用方式:先读取完整策略(响应头与 meta),检查明显弱点与缺失指令,再按 script-src 类型选择对应技术;相关技能包括 xss-cross-site-scripting、dangling-markup-injection、crlf-injection、waf-bypass-techniques、clickjacking。
限制:base-uri、form-action、frame-ancestors 无回退,缺失即潜在绕过点;strict-dynamic 存在时忽略主机白名单与 'self';多条 CSP 叠加取最严;Report-Only 不拦截;nonce 应有足够熵。本文为安全测试参考,实际效果因浏览器与目标实现而异。