基于DOM的cookie操纵
翻译
原文:https://portswigger.net/web-security/dom-based/cookie-manipulation
- name: 翻译
desc: 原文:https://portswigger.net/web-security/dom-based/cookie-manipulation
bgColor: '#F0DFB1'
textColor: 'green'
2
3
4
# 基于DOM的cookie操纵
在本节中,我们将介绍基于 DOM 的 Cookie 操作,了解它可能产生的影响,并提供一些减少 Cookie 操纵漏洞的建议和方法。
# 1什么是基于DOM的cookie操纵?
一些基于 DOM 的漏洞允许攻击者操纵他们通常无法控制的数据。这会将通常情况下安全的数据类型(如 Cookie)转换为潜在的源。当脚本把攻击者可控数据写入 Cookie 的值时,就会出现基于 DOM 的 cookie 操纵漏洞。
攻击者可以利用此漏洞构造一个 URL,如果其他用户访问该 URL,则会在用户的 Cookie 中设置任意值。许多接收器本身基本上是无害的,但基于 DOM 的 cookie 操纵攻击表明,低严重性漏洞 有时可用作 高严重性攻击利用链的一部分。例如,如果 JavaScript 不对数据进行清理,而是直接将数据从源写入document.cookie
,则攻击者可以操纵单个 Cookie 的值来注入任意值:
document.cookie = 'cookieName='+location.hash.slice(1);
如果网站不安全地反映来自 Cookie 中的值,且不对其进行 HTML 编码,则攻击者可以使用 Cookie 操纵技术来利用此行为。
- name: 实验室-从业者
desc: 基于DOM的cookie操纵 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/dom-based/cookie-manipulation/lab-dom-cookie-manipulation
bgColor: '#001350'
textColor: '#4cc1ff'
2
3
4
5
6
# 2基于DOM的cookie操纵攻击有什么影响?
此漏洞的潜在影响取决于 Cookie 在网站中所扮演的角色。如果 Cookie 用于控制某些用户操作(例如,生产模式与演示模式设置)导致的行为,则攻击者可能通过操纵 Cookie 的值来使用户执行某些非预期的操作。
如果 cookie 用于跟踪用户的会话,则攻击者可能执行会话固定攻击,他们将 cookie 的值设置为他们从网站获得的有效令牌,然后在受害者 随后与网站的交互期间 劫持会话。像这样的 cookie 操纵漏洞不仅可以用于攻击易受攻击的网站,还可以用于攻击同一父域下的任何其他网站。
# 3哪些接收器会导致基于DOM的cookie操纵漏洞?
document.cookie
接收器可能会导致基于 DOM 的 cookie 操纵漏洞。
# 4如何防范基于DOM的cookie操纵漏洞
除了基于 DOM 的漏洞页面上描述的一般措施外,还应避免:使用来自任何不受信任源的数据,并将其动态写入 Cookie。