CSRFとXSSの違い


CSRF

呼称

シーサーフともリクエスト強要とも呼ばれる。
リクエスト強要と言うとわかりやすい。

内容

攻撃者が管理するWEBサイトにエンドユーザーがアクセスすると、スクリプトが作動。
エンドユーザーは攻撃対象のサイトへのリクエストを強要される。
攻撃対象のサイトからしてみれば、通常利用者からのリクエストであるため、攻撃と判別しづらい。

対策(省略)

攻撃対象のサイト管理者

リクエスト元のURLで通常利用かどうかを判別とかとか

XSS

呼称(というか正式名称)

クロスサイトスクリプティング

内容

攻撃者が攻撃対象のサイトにスクリプトを仕込む。
エンドユーザーが訪問してスクリプトを実行してしまうと、偽のサイトに誘導される。
そこで認証情報等を入力することにより情報を盗まれる。
もしくは、cookie情報を盗まれる。(ドメイン間でのcookie情報の許可している?)

対策(省略)

攻撃対象のサイトが不正なスクリプトを混入されないように気を付ける

まとめ

CSRFはエンドユーザーに不正リクエストを強要させる。
XSSは不正スクリプトにより、エンドユーザーのcookie情報を盗んだり、認証情報を入力させて盗む。

おまけ

JSのAjaxでドメインが異なるURLへリクエストを送信しようとしたらCORSポリシー違反とやらで引っかかった。
きっとこれらの対策でブラウザが設定してるんだろうな