CSP 漏洞:通配符指令

问题描述 投票:0回答:1

当我扫描我的网站时,我收到漏洞 CSP:通配符指令。

这是我的回复标题:

default-src 'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;script-src 'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https: ;style-src 'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;connect-src 'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;font-src 'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;img-src 'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;base-uri 'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;form-action 'none';frame-src 'self';frame-ancestors 'self'

(为了便于阅读,下面进行了分解):

default-src     'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;
script-src      'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;
style-src       'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;
connect-src     'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;
font-src        'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;
img-src         'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;
base-uri        'self' 'nonce-A1A858B312C6D596C4CA536BD2D20F67' https:;
form-action     'none';
frame-src       'self';
frame-ancestors 'self'

如何解决该错误?

asp.net iis
1个回答
0
投票

修复 CSP 通配符指令漏洞的方法有多种,具体取决于 Web 应用程序的要求和安全需求。以下是一些需要遵循的最佳实践:

  1. 使用严格的CSP标头:严格的CSP标头仅允许Web应用程序加载特定的内容源,从而减少了 攻击面。例如,考虑以下 CSP 标头: 内容安全策略:default-src 'self' 'unsafe-inline' '不安全评估' https:;在此标头中,我们只允许内容 从同一域('self')加载,允许内联脚本和样式 ('unsafe-inline'),并允许执行脚本 ('unsafe-eval') 相同的域。我们还允许从 HTTPS 源加载内容 (https:)。

  2. 使用nonce属性:nonce属性是由服务器生成并包含在CSP标头中的随机值。它允许 由 Web 应用程序执行的内联脚本,但前提是它们 匹配随机数值。这可以防止攻击者注入 Web 应用程序中的恶意内联脚本。例如, 考虑以下 CSP 标头:Content-Security-Policy: script-src 'nonce-ABC123' https:;在此标头中,我们只允许脚本 从 HTTPS 源 (https:) 和匹配的内联脚本加载 随机数值 (

    'nonce-ABC123'
    ).

  3. 使用sha256属性:sha256属性与nonce属性类似,但它允许执行特定的内联脚本 基于它们的哈希值。这在 Web 应用程序时很有用 需要执行不能包含在 a 中的特定内联脚本 单独的文件。例如,考虑以下 CSP 标头: 内容安全策略:脚本 src 'sha256-ABC123' https:;在这个 header,我们只允许从 HTTPS 源加载脚本 (https:) 以及哈希值 ABC123 的内联脚本。

  4. 避免使用 unsafe-inline 和 unsafe-eval 指令:unsafe-inline 指令允许内联脚本和样式 由 Web 应用程序执行,而 unsafe-eval 指令 允许从字符串执行脚本。这些指令应该是 避免,因为它们显着增加了网络的攻击面 申请。

  5. 定义特定内容源:在 CSP 标头中定义内容源时,必须尽可能具体。为了 例如,不允许从任何域 (*) 加载内容, 我们可以定义受信任的特定域或子域 Web应用程序。这减少了攻击面并提高了 应用程序的整体安全性。

© www.soinside.com 2019 - 2024. All rights reserved.