You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

特定站点已触发XSS漏洞被CSP拦截,求有效绕过方案

CSP 绕过可行性测试方向

结合你给出的场景(已获得XSS注入点、JS执行被CSP拦截),可按以下优先级测试绕过方案:

  • 优先测试资源域可控情况
    若站点CSP的script-src配置了允许的白名单域名(含本站静态域、第三方CDN域),优先查找这些域名下的可用JSONP接口、任意文件上传点。构造脚本标签引用可控代码即可执行,示例Payload:
    <script src="https://白名单域名/jsonp?callback=alert(document.domain)"></script>
    
    若白名单域名存在开放重定向漏洞,也可以通过重定向指向你可控的恶意脚本地址绕过限制。
  • 测试CSP配置缺陷
    1. 验证是否CSP为仅上报模式(Content-Security-Policy-Report-Only),该模式下只会生成拦截日志不会实际阻止代码执行,你提交的Payload可能已经生效仅控制台存在告警。
    2. 测试元标签注入覆盖CSP配置,若注入点在页面头部附近,可尝试注入:
    <meta http-equiv="Content-Security-Policy" content="script-src 'unsafe-inline' 'unsafe-eval' *">
    
  • 替换脚本执行方式
    你当前使用的javascript:伪协议在大部分严格CSP下都会被拦截,可更换为自动触发的事件类Payload测试:
    <svg onload=alert(1) />
    <img src="invalid" onerror="alert(document.cookie)" />
    <iframe onload=alert(1) src="about:blank"></iframe>
    
    若CSP未禁用unsafe-inline规则,上述Payload可直接执行。
  • 利用站点已有脚本Gadget
    若CSP仅允许加载本站脚本,可挖掘站点现有JS脚本中的可利用逻辑:比如存在读取URL参数后传入eval、Function、innerHTML等危险函数的逻辑,直接构造对应参数触发执行即可,无需注入额外脚本标签。

内容的提问来源于stack exchange,提问作者lopa17685

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:09:00