WEB|XSSとCSRF


ウェブサイトのセキュリティ攻撃に関連する有名なXSSとCSRF(XSRF)を知りたいです.
この2つの方法を区別することで、攻撃目標に分けることができます.
XSSの攻撃ターゲットはクライアントであり、
CSRFの攻撃ターゲットはサーバです.

XSSサイトにまたがるスクリプトとは?


これは、Webアプリケーションでよく発生する脆弱性です.非Web管理者がWebページに悪意のあるスクリプトを挿入できる脆弱性です.
XSSの攻撃経路は以下の通り.
  • 攻撃者は、悪意のあるスクリプトを含む投稿
  • をホームページを介してWebサーバに登録する.
    2.WebサーバがDBサーバに保存する
    3.ユーザーは攻撃者がアップロードした悪意のあるスクリプトを含む投稿を読む
    4.悪意のあるスクリプトがユーザPC上で実行されると、様々な情報などが攻撃者に移行する
    ユーザーが入力した値を正しくフィルタリングできない場合、攻撃者は入力可能なフォーム(掲示板など)に悪意のあるスクリプトを挿入し、犠牲者PC上で実行される弱点を指摘します.
    攻撃者は,ユーザの個人情報,セッションCookie情報,悪意のあるコードのダウンロードなどを利用して攻撃を行う.
    では、どうすれば止められるのでしょうか.

    XSS応答方式


    1.スクリプト文に存在する特殊文字をメタロールに変換します。

    ex) 
    < = &lt,
    ( = &#40,
    ) = &#40

    2.スクリプト文字のフィルタ


    DOM上のテキストを読み取る場合は、innerHTMLを使用してhtmlタグを読み取るのを避け、textContentなどの代替方法を使用します.方法の内容は以前のブログで整理しました.

    3.Replaceメソッドの使用


    4.ユーザー入力値制限


    プレイヤー入力値が所定の範囲内で予測可能であれば、プルダウンメニュー等を用いて予め入力されたデータ値を制御することができる.

    5.XSSスクリプトフィルタの適用


    XSSスクリプトフィルタの適用方法の表示
    上記の5つの方法のほかにも、いくつかの方法があります.

    クロスサイトリクエスト転送(CSRF)サイト間の偽造リクエストとは?


    ウェブサイトの脆弱性攻撃の一種で、ユーザーが自分の意思を顧みず、攻撃者に特定のウェブサイトに要求する攻撃(修正、削除、登録など)を指す.
  • XSSを使用した攻撃が、あるサイトに対するユーザーの信頼である場合.
    サイト間偽造要求(CSRF)は、特定のサイトに対してユーザを信頼するウェブブラウザの状態である.
  • ユーザがウェブサイトにログインすると、サイト間で要求された偽造攻撃コードが挿入されたページが開きます.
    攻撃対象となるサイトでは,偽造された攻撃命令は信頼できるユーザから発せられたものと考えられ,攻撃にさらされる.
  • 攻撃はWebアプリケーションにおいて,サーバが通常経路を通過する要求と非正常経路を通過する要求を区別できない場合に,悪意のあるスクリプトを用いて偽造された要求情報を送信する.
    パスワードの変更など...

    CSRF応答


    1.Refer検証

  • Back-endは、要求されたreferをチェックして、ドメイン(Saleson.com)が一致しているかどうかを確認します.
  • は大部分のCSRF攻撃防御をサポートする.しかし、XSSの弱点があると防御できない可能性がある.
  • 2.安全Tokenの使用(CSRF Token)

  • ユーザのセッションには任意の値が格納され、各ユーザ要求にはその値が含まれる.
    Back-endからリクエストが受信されるたびに、セッションに格納されたトークン値がリクエストパラメータに渡されたトークン値と同じであることを検証する方法.また、XSSホールが存在する場合は、防御できない場合があります.
  • 3.Double Submit Cookie検証

  • WebブラウザのSame Originポリシーのため、JavaScriptを使用して他のドメインのクッキー値を特定および変更できない防御方法です.
  • script側は、要求に基づいて数値を生成し、クッキーに格納し、同じ数値を要求パラメータに格納してサーバに送信する.クッキーのトークン値がパラメータのトークン値と一致するかどうかをサーバ側で確認するだけです.サーバにトークン値を格納する必要がなく、セッション検証よりも簡単です.
  • 上記の3つの方法のほかに、いくつかの方法があります.

    XSSとCSRF(要約)



    情報は機密性のある部分なので、情報が漏洩しないようにセキュリティに注意する必要があります.