2

如果 cookie 设置为 samesite strict,是否可以使用 javascript 将其发送到另一个站点,例如使用 javascript 获取 cookie 并将其发送给另一个用户?

4

2 回答 2

1

是的。您指的是在客户端浏览器上运行脚本的状态。cookie 指示浏览器在处理站点的samesitecookie 时的请求行为,但脚本仍然可以在本地访问它。

就像@jameslol 所说,您可以参考HttpOnly标记的cookie。服务器可以为响应标头设置HttpOnly标志。如果您的目标浏览器支持该标志,则本地脚本无法访问 cookie。Set-CookieHttpOnly

但是,如果浏览器不支持此标志,它将设置一个常规 cookie,从而产生客户端脚本可访问的 cookie。

附加阅读:

于 2019-05-10T02:02:07.067 回答
1

是的,可以使用 javascript 读取相同站点的 cookie。因此,它们与任何其他 cookie 一样容易受到 XSS 攻击。

您可以自己测试一下,方法是在任何网站上打开 chrome 检查器并输入以下内容:

// Set cookie
document.cookie = 'auth=lol;samesite=strict';
// Read cookie
console.log(document.cookie); // "auth=lol"

你可能在想httpOnly?设置 httpOnly 将阻止在 javascript 中读取,因此将阻止 XSS。https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#Security

于 2019-05-09T23:53:07.500 回答