Warning!!! 下記は全部間違ってました!
罵声を浴びせてからこちらへ → CSRF対策俺ルール2
CSRF クロスサイトリクエストフォージェリ – SpecIII – てけとうなWeb開発者の雑記
CSRFはサイトに対する正規のユーザーの権限を利用した攻撃です。
あるサイトのある処理を行うページに正規のユーザーを誘導し、強制的に望まない処理を発生させます。
CSRF(クロスサイトリクエストフォージェリ)
この間の勉強会でgorouさんとかが言っていてわかんなかったので調べました。
forgeryは偽造の意味なので「サイト横断的リクエスト偽造」でしょうか。
内容的には↓こうだそうです。
CSRFはサイトに対する正規のユーザーの権限を利用した攻撃です。
あるサイトのある処理を行うページに正規のユーザーを誘導し、強制的に望まない処理を発生させます。具体的には記事の編集や削除といった機能を持つページのURLをダミーのリンクに埋め込んで踏ませたり、imgタグのsrcとして指定して知らず知らずのうちにアクセスさせます。特に後者の例ではユーザーが全く気がつかぬうちに攻撃が完了します。
JavaScriptでGETやPOSTができる以上、根本的な対策が難しそうです。
どう対応するか自分ルールを決めておくことにします。
CSRF対策俺ルール:
- 本気で防ぎたい場合:CAPTCHA
- ユーザビリティ優先の場合:全部POST&セッション&リファラーチェック(7/7追加)