×
サイバー攻撃について

この記事では、次の内容を理解できます。

  • CSRFで何が起きるのか

  • CSRFとXSS、CORS、クリックジャッキングの違い

  • CSRFの歴史と現代までの変化

  • フォーム型、ログインCSRF、API型などの攻撃分類

  • CSRFトークンが防御になる理由

  • Synchronizer TokenとDouble Submit Cookieの違い

  • SameSite Cookieだけでは不十分な理由

  • DjangoのCSRF防御の内部構造

  • Djangoテンプレート、Fetch、Axios、DRFでの実装

  • 403エラーの確認方法

  • Nginx、Cloudflare、WAFでできる補助対策

  • テスト方法と再発防止策


対象読者・前提環境

対象読者は次のとおりです。

  • DjangoでWebアプリケーションを開発している人

  • Cookie認証を利用している人

  • REST APIやSPAを開発している人

  • CSRFとXSSの違いを整理したい人

  • セキュリティ試験やWeb診断を学習している人

  • 自社サービスのCSRF設定を点検したい運用担当者

主な前提環境は次のとおりです。

  • Python 3.12以降

  • Django 5.2 LTSまたはDjango 6.0系

  • HTTPS

  • Nginxなどのリバースプロキシ

  • Cookieベースのセッション認証

  • DjangoテンプレートまたはJavaScriptフロントエンド


1. CSRFとは