1. beplay体育能用吗网络安全学院
  2. 跨站脚本
  3. CSP

内容安全策略

在本节中,我们将说明什么是内容安全策略,并描述如何使用CSP来减轻某些常见攻击。

什么是CSP(内容安全策略)?

CSP是一种浏览器安全机制,旨在减轻XSS还有其他一些攻击。它可以通过限制资源(例如脚本和图像)来加载和限制其他页面是否可以构成页面。

要启用CSP,响应需要包括一个称为HTTP响应标头内容 - 安全政策具有包含策略的值。该策略本身由一个或多个指令组成,分别由半洛龙隔开。

使用CSP缓解XSS攻击

以下指令将仅允许从相同的起源作为页面本身:

脚本src'self'

以下指令将仅允许从特定域加载脚本:

script-src https://scripts.normal-beplay体育能用吗website.com

从外部域中允许脚本时应注意。如果攻击者有任何方法可以控制从外部域提供的内容,那么他​​们也许可以发动攻击。例如,内容交付网络(CDN)不使用人均URL,例如ajax.googleapis.com,不应该被信任,因为第三方可以将内容纳入其域。

除了白色的特定域外,内容安全策略还提供了其他两种指定可信赖资源的方法:Nonces和Hashes:

  • CSP指令可以指定一个nonce(随机值),并且必须在加载脚本的标签中使用相同的值。如果值不匹配,则脚本将不执行。为了有效作为控制,必须在每个页面加载上牢固地生成NONCE,并且攻击者不可猜测。
  • CSP指令可以指定受信任脚本的内容的哈希。如果实际脚本的哈希不匹配指令中指定的值,则脚本将不执行。如果脚本的内容发生了变化,那么您当然需要更新指令中指定的哈希值。

CSP阻止像这样的资源很常见脚本。但是,许多CSP确实允许图像请求。这意味着您经常可以使用IMG向外部服务器提出请求的元素以披露CSRF令牌, 例如。

一些浏览器,例如Chrome,已内置晃来晃去的标记缓解将阻止包含某些字符的请求,例如原始的,未编码的新线条或角度括号。

某些政策更具限制性,并防止所有形式的外部请求。但是,仍然可以通过引发某些用户交互来解决这些限制。要绕过这种形式的策略,您需要注入一个HTML元素,当单击时,该元素将存储并将注入元素包含的所有内容发送到外部服务器。

使用CSP缓解悬空的标记攻击

以下指令将仅允许与页面本身相同的原点加载图像:

img-src'自我'

以下指令将仅允许从特定域加载图像:

img-src https://images.normal-beplay体育能用吗website.com

请注意,这些策略将阻止一些悬挂的标记利用,因为无用户互动捕获数据的一种简单方法是使用IMG标签。但是,它不会阻止其他漏洞利用,例如那些注入锚标标签的漏洞HREF属性。

绕过政策注入CSP

您可能会遇到一个反映实际策略输入的网站,beplay体育能用吗很可能在报告 - 乌里指示。如果网站反映了您可以控制的参数,则可以注入半隆来添加自己的CSP指令。通常,这个报告 - 乌里指令是列表中的最后一个。这意味着您需要覆盖现有指令,以利用此漏洞并绕过策略。

通常,不可能覆盖现有的脚本src指示。但是,Chrome最近引入了Script-SRC-Elem指令,这使您可以控制脚本元素,但不是事件。至关重要的是,该新指令使您能够覆盖现有脚本src指令。使用此知识,您应该能够解决以下实验室。

保护点击劫机使用CSP

以下指令将仅允许该页面由来自相同来源的其他页面构成:

框架 - 自我'

以下指令将完全防止构架:

框架“无”

使用Content Security策略来防止Click Jacking比使用X-Frame-Options标头更灵活,因为您可以指定多个域并使用通配符。例如:

框架 - 委托人的自我'https://normal-website.combeplay体育能用吗 https://goust-website.com

CSP还验证了父帧层次结构中的每个帧,而X框架选项仅验证顶级帧。

建议使用CSP防止点击夹克攻击。您也可以将其与X框架选项标题可为不支持CSP的较旧浏览器提供保护,例如Internet Explorer。

免费注册以跟踪您的学习进度

通过Portswigger的网络安全学院工作的好处beplay官网可以赌beplay体育能用吗
  • 练习在现实目标上利用漏洞。

  • 记录您从学徒到专家的发展。

  • 看看您在我们的名人堂中排名。

已经有一个帐户?在此登录