クロスサイトフォージェリって?

前提1
yurufuwa.comという、セキュリティがゆるふわなサイトがあるとするよ
yurufuwa.comのゆるふわポイント
- セッションIDだけでAPIにリクエストを送ることができる
- APIにリクエストを送ることでデータを変更することができる(パスワードの変更、商品の注文、など…)
前提2
warudaze.comという、悪意あるサイトがあるとするよ
warudaze.comの悪いポイント
- 外部サイトのくせにyurufuwa.comのAPIにリクエストを送るボタンがある
クロスサイトフォージェリって?
yurufuwa.comのキャンペーンサイトを装うなどして、yurufuwa.comnにログインしているユーザーにwarudaze.comのボタンを押させることに成功すると…
こんなことが起きるよ
- ユーザーは自分のブラウザを通してyurufuwa.comにリクエストを送る
- そのリクエストにはwarudaze.comが仕込んだ内容が入っている
- yurufuwa.comはCookieのセッションIDを見て自分のサイトのユーザーだと認識
- yurufuwa.comのDBの内容が変更される
というわけで、ユーザーが乗っ取られたり、勝手に商品を注文されたりしてしまうよ
これがクロスサイトフォージェリだよ(CSRF、もしくはXSRFとも書く)
これを防ぐためにCSRFトークンというものがあるよ