×
サイバー攻撃について

次のケースが403になることを確認します。

  • CSRFトークンなし

  • CSRFトークンが空

  • 1文字変更したトークン

  • 別セッションのトークン

  • 不正Origin

  • Cookieなし

  • 安全でないメソッドへの不正リクエスト


22-3. GETで変更されないことを確認

次のURLへアクセスしても、データが変わらないことを確認します。

GET /account/delete/
GET /profile/update/[email protected]
GET /admin/promote/?user=attacker

GETでは確認画面を表示し、実際の変更はCSRF保護されたPOSTで行います。


22-4. ログの確認

DjangoではCSRF失敗がdjango.security.csrfロガーへ記録されます。

LOGGING = {
    "version": 1,
    "disable_existing_loggers": False,
    "handlers": {
        "console": {
            "class": "logging.StreamHandler",
        },
    },
    "loggers": {
        "django.security.csrf": {
            "handlers": ["console"],
            "level": "WARNING",
            "propagate": False,
        },
    },
}