🐥

CookieのSameSite属性について_2019/06/22

2021/07/12に公開

CookieのSameSite属性について学んだのでメモしておきます。

2019/06/22に書いた、Hatenaブログの記事をzennに移行しただけの個人的なメモです。

・SameSite属性とは

別ドメインに対してCookieを送信しない

具体的には、以前サイトBにログインしていて、サイトBのCookieを保持している状態、その後サイトAのドメインから、サイトBのドメインに対してCookieを送信しない仕様と なっている

このためCSRF対策として期待されている。

Set-Cookie: SID=asdfghjkl; Path=/; Domain=example.com; SameSite=Lax

SameSite属性には値は lax と strict の2種類あります。

HTML lax strict
<a href="http://example.com/">
<form method="get" action="http://example.com/" >
<form method="post" action="http://example.com/" >
<img src="http://example.com/img.png">
<iframe src="http://example.com/">
axios.get('http://example.com/', {withCredentials: true})
strictのほうがよりセキュアなCookieを実現できる。

https://blog.ssrf.in/post/samesite-cookie/

脆弱性診断でCSRFを検出し、samesite属性が付与されていた場合の判断が難しい。

金融系ではstrictが推奨されているが、基本的なサイトはlaxでないと通常に遷移ですらログイン前の画面に戻されてしまう。

SameSite属性が指定されていないクッキーがすべてSameSite=Lax 扱いになるかも?

9月には実装?

Cookie の SameSite=Lax をデフォルトにする提案仕様 – ASnoKaze blog

ブラウザではすでに対応されているみたいだが脆弱性診断をしていても見たことはない…

Discussion