×
サイバー攻撃について

GET、HEAD、OPTIONS、TRACEは状態を変更しない「安全なメソッド」として扱います。

DjangoのCSRFミドルウェアも安全なメソッドを検証対象外にします。そのため、GETで削除や更新を実装すると、DjangoのCSRF防御を通過してしまいます。


3-2. POSTフォーム型CSRF


攻撃者サイトに自動送信フォームを置く方式です。

<form action="https://example.com/account/email" method="post">
  <input type="hidden" name="email" value="[email protected]">
</form>

<script>
  document.forms[0].submit();
</script>

セッションCookieがクロスサイトPOSTに付与され、サーバーがCSRFトークンを確認しなければ、変更処理が実行されます。


3-3. ログインCSRF


利用者を攻撃者のアカウントへログインさせる攻撃です。

一見すると、攻撃者側のアカウントへ切り替わるだけに見えます。

しかし、利用者が気付かずに次の情報を登録すると問題になります。

  • クレジットカード

  • 個人情報

  • 閲覧履歴

  • 検索履歴

  • 機密ファイル

  • SNS投稿

  • クラウドデータ

情報は攻撃者のアカウントへ保存されるため、攻撃者が後から確認できます。