首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有效的内容安全策略是否减轻了通用的跨站点脚本漏洞?

有效的内容安全策略是否减轻了通用的跨站点脚本漏洞?
EN

Security用户
提问于 2021-01-19 09:24:28
回答 2查看 184关注 0票数 0

我正在对XSS的类型和预防做一些背景研究,据我了解,对于插件或浏览器中的通用XSS,没有什么应用可以做。

XSS漏洞的最后一道防线是一个好的内容安全策略头集。它不会消除潜在的漏洞,但会阻止攻击者有效利用该漏洞。例如,以下策略仅从与网页相同的来源加载脚本:

Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none'; frame-src 'none'; base-uri 'none';

由于这是基于浏览器的web应用程序的保护,我认为它不会减轻来自通用XSS的任何风险,因为它会影响浏览器,因此可以绕过保护。这留给唯一真正的通用XSS的缓解,因为确保您的浏览器和插件是最新的。

我的想法正确吗?感谢你的任何投入。

EN

回答 2

Security用户

回答已采纳

发布于 2021-01-19 13:26:00

是的,这是正确的。

UXSS不需要易受攻击的网页来触发,并且可以穿透属于安全的、编写良好的网页的web会话,从而在没有漏洞的情况下造成漏洞。

如果浏览器中的UXSS缺陷允许将Javascript注入任意网页(如此用于Chrome Android的UXSS),那么XSS的执行将仍然尊重CSP:script-src 'self'

票数 0
EN

Security用户

发布于 2021-01-25 15:57:56

不,这不对。

第三方脚本可以访问几种方式中的页面:

  1. 网页经典XSS漏洞或通用(浏览器) XSS
  2. 浏览器插件
  3. PC或家庭路由器上的病毒
  4. 黑客托管
  5. 互联网服务供应商(互联网服务供应商)
  6. DNS欺骗

CSP保护脚本不受独立注入方式的影响。

此外,CSP保护页面免受专门创建的恶意浏览器插件的干扰。因此,即使在常规插件存在漏洞的情况下,它也会这样做。

问题是,使用CSP,攻击者不足以注入脚本,它也必须控制HTTP报头。因此,一次应该有两个漏洞。

CSP是一个强大的工具,如果你知道如何使用它,你甚至可以保护自己不被插入脚本代表网站本身('self')。

例如,同时发布两个CSP头:script-src 'self'script-src 'nonce-value'将作为逻辑“和”。

这意味着只允许来自站点自己域的脚本,这些脚本具有有效的“nonce=”属性。

黑客插入外部脚本是不够的,他需要访问HTTP报头和“nonce”值。

针对XSS的主要问题--不要在'unsafe-inline'指令中使用script-src。这可以防止注入任何内联脚本(内联事件处理程序和javascript:-导航)。

您还可以通过使用上面的2头技巧或使用'hash-value'令牌来额外地保护外部脚本。

还请看一下可信类型API,它是一个单独的CSP规范。这里是一个演示,它是如何工作(Chrome浏览器只是目前为止)。可信类型对任何XSS都是有效的。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/243520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档