SuperAPI AI 工具集

performing-content-security-policy-bypass

安全与审计

查看项目

更新于 10-15 14:55

技能介绍

用途

本技能面向 Web 应用安全评估与漏洞赏金场景,用于在已发现 XSS 但执行被 Content-Security-Policy(CSP)拦截时,分析 CSP 策略并尝试绕过,以验证 CSP 的实际防护效果。也可用于审计 CSP 响应头配置是否存在弱点。

主要能力

  • 分析 CSP 策略:从响应头或 meta 标签提取 CSP,识别 report-only 模式(仅记录不拦截),解析 script-src、default-src、style-src、img-src、connect-src 等指令。
  • 利用 unsafe-inline 与 unsafe-eval:当 script-src 包含这些关键字时,内联脚本或 eval 类调用可执行。
  • 利用白名单域 JSONP 端点:当 CSP 白名单包含带 JSONP 接口的域时,通过 callback 参数执行攻击者回调。
  • AngularJS 沙箱逃逸:当白名单包含托管 AngularJS 的 CDN 时,加载库并利用模板注入绕过脚本限制。
  • base-uri 与 form-action 绕过:未限制 base-uri 时可注入 base 标签重定向相对脚本加载;未限制 form-action 时可通过表单提交窃取数据;未限制 object-src 时可使用插件类执行。
  • nonce 与 hash 绕过:通过 CSS 属性选择器逐字符泄露 nonce、检测 nonce 复用、DOM clobbering 覆盖 nonce 检查、利用白名单库中的 script gadgets(如 jQuery、Lodash、DOMPurify 原型污染绕过),以及通过反射参数注入 CSP 指令。
  • 无 script-src 时的数据外泄:借助 img-src、CSS 注入、connect-src、DNS prefetch、WebRTC 等通道外泄数据。

使用方式

工作流分为六步:

  1. 分析 CSP 策略:使用 curl 提取响应头与 meta 中的 CSP,检查 report-only 模式,借助 Google CSP Evaluator 做自动化分析,解析各指令取值。
  2. 利用 unsafe-inline 与 unsafe-eval:根据 script-src 是否包含相应关键字构造内联脚本或 eval 调用;注意 CSP3 中 nonce 存在时 unsafe-inline 会被忽略,此时应转向 nonce 泄露。
  3. 利用白名单域 JSONP 端点:在白名单域上寻找 JSONP 接口,或加载白名单 CDN 上的 AngularJS 并配合模板注入。
  4. 利用 base-uri 与 form-action 绕过:注入 base 标签、构造表单提交、使用 object/embed 加载插件。
  5. 利用 nonce 与 hash 绕过:通过 CSS 属性选择器暴力泄露 nonce、检测 nonce 复用、DOM clobbering、script gadgets、策略注入。
  6. 无 script-src 时数据外泄:通过 img、CSS、connect-src、DNS prefetch、WebRTC 等通道外带数据。

前置条件

  • Burp Suite 用于拦截响应并分析 CSP 头
  • Google CSP Evaluator 用于自动化策略分析
  • 理解 CSP 指令(script-src、default-src、style-src 等)
  • 了解 CSP 绕过技术(JSONP、base-uri、object-src)
  • 浏览器开发者工具用于监控 CSP 违规
  • 收集白名单域的 JSONP 端点

适用场景

  • 已发现 XSS 但被 CSP 拦截时的绕过验证
  • Web 应用安全评估中评估 CSP 有效性
  • 测试 CSP 对已知绕过技术的健壮性
  • 漏洞赏金中 CSP 阻止直接 XSS 利用的情况
  • 审计 CSP 头配置的安全弱点

常用工具

  • CSP Evaluator:分析 CSP 策略弱点
  • Burp Suite:CSP 头分析与绕过测试的 HTTP 代理
  • CSP Scanner:识别 CSP 绕过机会的浏览器扩展
  • csp-bypass:CSP 绕过技术与载荷的整理列表
  • RetireJS:识别白名单 CDN 上的易受攻击 JavaScript 库
  • DOM Invader:Burp 中通过 DOM 操作测试 CSP 绕过的工具

输出格式

技能提供 CSP 绕过评估报告模板,包含目标、CSP 模式、策略,以及 CSP 分析表(指令、取值、风险)、发现的绕过技术表(技术、载荷、影响)和修复建议(移除白名单 CDN、改用 nonce/hash、添加 base-uri 'self'、object-src 'none'、迁移到严格 nonce 策略、启用 strict-dynamic 等)。

限制

本技能的具体效果取决于目标 CSP 配置与浏览器实现,资料未提供各绕过技术的成功率、兼容性范围或法律合规说明;使用前需确保获得授权。