×
サイバー攻撃について

ログイン画面にもCSRF防御が必要です。


3-4. ログアウトCSRF


外部サイトからログアウトURLを呼び出し、利用者を強制的にログアウトさせます。

直接的な情報漏えいがなくても、次の問題につながります。

  • 作業中データの消失

  • サービス妨害

  • 偽ログイン画面への誘導

  • ログインCSRFとの組み合わせ

  • セッション状態の混乱

ログアウトもPOSTとCSRFトークンで実行する設計が望まれます。


3-5. JSON CSRF


「JSON APIだからCSRFは起こらない」とは限りません。

通常のHTMLフォームは、自由なapplication/jsonリクエストを送れません。そのため、JSONのみを厳格に受け付けるAPIは古典的フォームCSRFに比較的強くなります。

しかし、次の場合は危険です。

  • text/plainでもJSONとして解析する

  • Content-Typeを確認しない

  • URLエンコード形式も受け付ける

  • GETパラメータをMutationとして処理する

  • CORSで任意OriginとCookie送信を許可する

  • サーバーがJSON以外へ寛容すぎる

  • メソッドオーバーライドを許可する

JSONという形式そのものが防御になるわけではありません。


3-6. API・SPA型CSRF


React、Vue、AngularなどのSPAでも、認証情報をCookieで管理する場合はCSRF対策が必要です。