×
サイバー攻撃について

4. CSRFと似た攻撃の違い

4-1. CSRFとXSS

比較CSRFXSS
主な目的利用者に操作させる正規サイト上でスクリプトを動かす
レスポンスの読取り通常は困難可能
Cookieの値知らなくても成立するHttpOnlyでなければ盗める場合がある
攻撃場所外部サイトなど脆弱な正規サイト内
主な対策CSRFトークン、SameSite、Origin検証出力エスケープ、CSP、サニタイズ

XSSが存在すると、正規ページからCSRFトークンを読み取ったり、正規オリジンからリクエストを送ったりできます。

そのため、OWASPもXSSによってCSRF対策が破られ得ると注意しています。

CSRF対策を強化しても、XSSを放置してよいわけではありません。


4-2. CSRFとCORS

CORSは、別オリジンのJavaScriptがレスポンスを読み取れるかどうかを制御する仕組みです。

CSRFは、レスポンスを読めなくても攻撃できます。

そのため、CORSを無効にしただけではCSRF対策になりません。

また、次の組み合わせは危険です。

Access-Control-Allow-Origin: https://evil.example
Access-Control-Allow-Credentials: true

任意Originを動的反射し、Cookie送信を許可する設定も危険です。