CSSとCSRFの主な違いは、XSSでは悪意のあるコードがウェブサイトに挿入されるのに対し、CSRFでは悪意のあるコードが第三者のサイトに格納される点です。
World Wide Web (WWW)には、何千ものウェブサイトが存在します。
ほとんどの組織は、自社の製品やサービスについて顧客に知らせるためにウェブサイトを維持しています。
さらに、お客様はウェブサイトを通じてオンライン取引や問い合わせを行うことができます。
一般に、ウェブサイトにはさまざまな攻撃が起こり得ます。
したがって、ウェブサイトの機能に影響を与える可能性があります。
一般的な脅威は、XSSとCSRFの2つです。
XSSとは
XSSとは、クロスサイトスクリプティング(Cross-Site Scripting)の略です。
Webサイトを攻撃するXSSがあると、そのコードがブラウザによってWebサイトのユーザーに実行されます。
一般的に、攻撃者は、JavaScriptなどのクライアントサイドスクリプト言語でXSSコードを記述します。
また、XSSは、ユーザーのクッキーを盗んだり、ウェブページを改ざんしたり、ユーザーの設定を変更するマルウェアをダウンロード表示させたりすることもあります。
XSS攻撃には、2つのタイプがあります。
持続的XSSでは、攻撃者は悪意のあるコードをウェブサイトのデータベース内に隠し、ユーザーが知らないうちにアクセスするようにします。
さらに、非永続的な攻撃は、HTTPリクエストを介してサーバーに悪意のあるコードを送信します。
CSRFとは
CSRFとは、Cross-Site Request Forgery(クロスサイト・リクエスト・フォージェリ)の略です。
この攻撃は、第三者のサイト上のページやスクリプトと対話するよう、ユーザーを惑わせます。
まず、CSRF攻撃は、ユーザーのサイトに対して悪意のあるリクエストを生成します。
サーバーは、それが承認されたウェブサイトからのリクエストであると仮定します。
ユーザーがそのリクエストを受け入れると、攻撃者はリクエストで送信されたデータを制御することができます。
例えば、銀行が自分の銀行口座にアクセスするために、ユーザーにセッショントークンを提供するとする。
ハッカーは、ユーザーを欺いて、銀行を指す偽のリンクをクリックさせることができます。
そして、ユーザーがそのリンクをクリックすると、攻撃者はトークンを取得することができる。
そして、攻撃者のリクエストが実行され、彼は口座にアクセスし、お金を振り込むことができる。
XSSとCSRFの違い
定義
XSSとは、ウェブアプリケーションに見られるコンピュータセキュリティの脆弱性の一種で、攻撃者がユーザーが閲覧するウェブページにクライアント側のスクリプトを注入することを可能にするものです。
これに対し、CSRFは、Webアプリケーションが信頼するユーザーから不正なコマンドを送信する、Webサイトの悪意のある悪用の一種です。
悪意のあるコード
XSSでは、悪意のあるコードがウェブサイトに挿入され、CSRFでは、悪意のあるコードが第三者のサイトに格納されます。
ロングフォーム
XSSはCross-Site Scripting、CSRFはCross-Site Request Forgeryの略です。
協会
また、XSS攻撃を受けやすいWebサイトは、CSRF攻撃も受けやすい可能性があります。
しかし、一方で、ウェブサイトがXSS攻撃を防いでいるからと言って、CSRF攻撃も防げるとは限りません。
結論
簡単に説明すると、XSS と CSRF は、Web サイトの機能に影響を与える可能性のある 2 つの脅威です。
CSSとCSRFの主な違いは、XSSでは悪意のあるコードがウェブサイトに挿入されるのに対し、CSRFでは悪意のあるコードが第三者のサイトに保存される点です。