【发布时间】:2017-07-02 04:26:18
【问题描述】:
祝你好运!除了40781534,接受的答案是设置SameSite=Lax:
如何设置SameSite=Strict cookie 以重定向到我自己,以便我可以从Chrome 56.0.2924.87 取回cookie,即使用户的请求本身是来自我的OAUTH2 登录页面的重定向供应商?
完整的请求链是:
-
POST https://provider.com/callback→302 FOUND与:Location: https://me/login?code=xxx&state=yyy -
GET https://example.com/login?code=xxx&state=yyy→302 FOUND或303 SEE OTHER(似乎无关紧要)与:Location: https://example.com/destination Set-Cookie: sid=zzzz; Secure; HttpOnly; SameSite=Strict; Path=/ GET https://example.com/destination→401 GET OFF MY LAWN因为浏览器没有提供sidcookieGET https://example.com/destination→200 OK如果我刷新,因为那样网站是相同的,我的浏览器会显示sidcookie
对于用户上次加载的页面不在example.com 上的一般情况,我很欣赏将sid 呈现给/destination 的CSRF 潜力,但我只是从@987654341 设置它 @,我是现在重定向到/destination的人。
当然,我可以设置SameSite=Lax,但如果有人能找到某种方法,通过错误形成 URL 来触发他们从我的网站重定向他们的选择,那岂不是存在点击劫持的可能性?
【问题讨论】:
标签: google-chrome cookies oauth-2.0