【しーえすあーるえふ】
CSRF とは?
最終更新:
💡 本人のログイン状態を借りて、勝手なお願いを送らせる攻撃
ログイン状態などを悪用し、利用者のブラウザーに意図しない操作のリクエストを送らせる攻撃。Cookieが送られる条件やサーバー側の検証に左右され、CSRFトークンや送信元の確認などで対策します。
📌 このページのポイント
CSRFって、何をされる攻撃なの?
ログインしているサービスへ、本人が意図しない設定変更などのリクエストをブラウザーに送らせる攻撃だよ。例えば罠のページをきっかけに、対応が不十分なサービスで操作が行われる場面があるんだ。Cookieを盗まなくても成立する場合があるよ。
本人が操作していないのに、なぜ受け付けるの?
CSRFトークンは、どう役立つの?
SameSite=Laxなら、別サイトから送られない?
すべてを止める設定ではないよ。例えば別サイトのリンクから開く最上位のGETリクエストにはCookieが付く場合がある。GETで設定変更などを行わない設計が大切だね。同じサイトと同じオリジンも別なので、SameSiteだけで万全と考えず、トークンや送信元の確認などを検討しよう。
XSSとの違いは何?
まとめ:ざっくりこれだけ覚えればOK!
「CSRF」って出てきたら「ログイン中のブラウザーに、勝手な操作を頼ませる攻撃」と思えばだいたいOK!
📖 おまけ:英語の意味
「Cross-Site Request Forgery」 = サイトをまたぐリクエストの偽造
💬 Forgeryは偽造という意味だよ。本人の意図とは違う要求を、本人のブラウザーから送らせる攻撃を表すんだ。