Blog

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

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

前提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トークンというものがあるよ