弱 Cookie 配置¶
ID: rb/weak-cookie-configuration
Kind: problem
Security severity: 7.8
Severity: warning
Precision: high
Tags:
- external/cwe/cwe-732
- external/cwe/cwe-1275
- security
Query suites:
- ruby-code-scanning.qls
- ruby-security-extended.qls
- ruby-security-and-quality.qls
Cookie 可用于安全措施,例如根据与请求一起发送的 Cookie 认证用户。Web 应用程序中 Cookie 设置的错误配置可能会使用户面临攻击,从而破坏这些安全措施。
建议¶
现代 Web 框架通常对 Cookie 设置具有良好的默认配置。如果应用程序覆盖了这些设置,则应注意确保这些更改是必要的,并且不会削弱 Cookie 配置。
示例¶
在第一个示例中,config.action_dispatch.cookies_same_site_protection
的值设置为 :none
。这会将服务器在设置 Cookie 时发送的默认 SameSite
属性设置为 None
,而不是默认的 Lax
。这可能会使应用程序更容易受到跨站请求伪造攻击的影响。
在第二个示例中,此选项被设置为 :strict
。这比默认的 :lax
限制更严格,不会损害 Cookie 安全性。
module App
class Application < Rails::Application
# Sets default `Set-Cookie` `SameSite` attribute to `None`
config.action_dispatch.cookies_same_site_protection = :none
# Sets default `Set-Cookie` `SameSite` attribute to `Strict`
config.action_dispatch.cookies_same_site_protection = :strict
end
end
参考¶
OWASP:SameSite.
Rails:配置 Action Dispatch.
常见弱点枚举:CWE-732.
常见弱点枚举:CWE-1275.