Javascript利用具有samesite属性的Cookie?

Javascript利用具有samesite属性的Cookie?,javascript,cookies,samesite,Javascript,Cookies,Samesite,如果cookie设置为samesite strict,是否可以使用javascript发送到另一个站点,比如使用javascript获取cookie并将其发送给另一个用户?是的,可以使用javascript读取samesite cookie。因此,它们与任何其他cookie一样容易受到XSS攻击 您可以通过在任何网站上打开chrome inspector并键入以下内容来测试这一点: // Set cookie document.cookie = 'auth=lol;samesite=strict

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

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

您可以通过在任何网站上打开chrome inspector并键入以下内容来测试这一点:

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

您可能只考虑httpOnly?设置httpOnly将阻止在javascript中读取,因此将阻止XSS

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

就像@jameslol所说的,你可以引用
HttpOnly
标记的cookies。 服务器可以为
set Cookie
响应头设置
HttpOnly
标志如果目标浏览器支持
HttpOnly
标志,则本地脚本无法访问cookie

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

补充阅读:


不能在其他网站上设置Cookies。是的,但safari很糟糕:
document.cookie='auth\u strict=lol;samesite=严格';document.cookie='auth\u lax=lol;samesite=lax';document.cookie给出“auth\u lax=lol”