クロスサイトスクリプティング:WordPressユーザー向けガイド

公開: 2021-04-21

クロスサイトスクリプティングとそれがWordPressWebサイトに与える影響について懸念している場合は、間違いなく偏執的ではありません。 クロスサイトスクリプティング(XSSとも呼ばれます)の脆弱性はWordPressサイトの所有者に限ったことではありませんが、WordPressサイトへの潜在的な悪影響を理解することは非常に重要です。

このガイドでは、注意が必要なクロスサイトスクリプティング(XSS)の脆弱性について説明します。 これのいくつかは少し技術的になるでしょうが、ガイドの終わりに、クロスサイトスクリプティングに関連するWordPressサイトの全体的なセキュリティについて情報に基づいた決定を下すことができます。 さらに、攻撃を回避するために何をすべきかを正確に知ることができます。

それでは、に飛び込みましょう。

このガイドでは

    クロスサイトスクリプティング(XSS)とは何ですか?

    クロスサイトスクリプティング(XSS)は、WordPressサイトのクロスサイトの脆弱性を悪用することによって実行されるマルウェア攻撃の一種です。 実際、XSSの脆弱性を持つWordPressプラグインが非常に多いため、WordPressサイトがハッキングされる最も一般的な方法です。

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

    さらに専門的な用語でのクロスサイトスクリプティングとは何ですか?

    クロスサイトスクリプティングの脆弱性により、Webサイトで外部のJavaScriptコードを実行できます。 この脆弱性を悪用する攻撃にはさまざまな種類があるため、WordPressサイトの所有者がこれを見つけるのは非常に難しい場合があります。

    これは、協調して動作する多数のプラグインを備えた非常に大規模または複雑なWordPressサイトを実行している場合にさらに当てはまります。

    多くの異なるタイプのXSS攻撃は、2つの異なるカテゴリに要約できます。

    • クライアント側のブラウザで実行される悪意のあるスクリプト
    • サーバーに保存および実行され、ブラウザによって提供される悪意のあるスクリプト

    これらのいずれの場合でも、ハッキングはクロスサイトスクリプティング攻撃を使用してサイトの動作方法を操作したり、重要なサイトデータを盗んだりします。

    XSS攻撃がWordPressWebサイトで一般的になる理由は何ですか?

    WordPressユーザーとして、いくつかのWordPressプラグインがどれほど複雑かをすでに知っているかもしれません。 実際、使用しているプラ​​グインの中には、WordPressコア自体よりもさらに複雑なものがあります。

    残念ながら、WordPressプラグインが複雑になるほど、セキュリティの問題に直面する可能性が高くなります。 プラグインの作成者は、XSS攻撃から保護することがいかに難しいかを知っており、それは彼らの仕事を非常に困難にします。

    Facebook、Apple、Googleなど、最も評価の高いハイテク巨人の一部は、過去にXSS攻撃に苦しんでいます。 実際、これらの攻撃のリスクを最小限に抑えるために、専任のセキュリティチーム全体を採用しています。

    これは、技術の巨人よりもはるかに少ないセキュリティリソースで、攻撃がWordPressプラグインにどれほど簡単に侵入できるかについてのより多くの視点に物事を置くのに役立つはずです。

    あなたはおそらくあなたのサイトがクロスサイトスクリプティング攻撃に対してどれほど脆弱であるか疑問に思っているでしょう。

    まず、すべてのテーマとプラグインを完全に更新している場合は、リスクが大幅に低下していることに注意することが重要です。 ただし、XSS攻撃から完全に保護する確実な方法はありません。

    ほとんどのWordPressサイトには非公開の脆弱性があり、ハッカーが悪用する可能性があります。 このため、サイトの定期的なスキャンは非常に重要です。 これについては後で詳しく説明します。

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

    ハッカーがクロスサイトスクリプティング攻撃で与える可能性のある損害は、最終目標の正確な詳細によって異なりますが、最悪の場合、サイト全体が乗っ取られる可能性があります。

    その他の場合、ハッカーはWebサイトに小さな変更を加えたり、設定した悪意のあるサイトにサイトをリダイレクトしたりします。

    別の言い方をすれば、WordPressのクロスサイトスクリプティングの脆弱性を悪用するハッカーは次の方法を知っています。

    • セッションIDを検出して、ユーザーのセッションを乗っ取る
    • 許可していないリダイレクトとポップアップを配置する
    • 悪意のあるフィッシング攻撃の先頭に立つ
    • キーロガーをインストールして、被害者のすべてのキーストロークを記録します
    • あなたの財務情報、またはサイトユーザーの財務情報を盗む

    クロスサイトスクリプティングの種類は何ですか?

    すべてのXSS攻撃が等しく危険であるわけではありません。 実際、いくつかは他よりもはるかに危険です。

    一部の攻撃では、ハッカーはWordPressサイトに完全にアクセスできます。 その時点で、彼らは基本的に彼らがそれでやりたいことを何でもすることができます。

    その他の場合、攻撃により、ハッカーがサイトの一部を変更できるようになります。 フルサイトのXSSハッキングほど危険ではありませんが、すべての訪問者にマルウェアを提供するため、これも非常に危険な場合があります。

    さまざまなクロスサイトスクリプティング攻撃では、ハッカーが貢献サイトのメンバーである必要があります。 このような場合、もたらされる危険性は大幅に低くなります。

    クロスサイトスクリプティングはどのように機能しますか?

    経験豊富なハッカーは、自動化されたツールを使用してサイトの脆弱性を見つけます。 彼らが脆弱性を発見した後、それは目的のハックを実行するという単純な問題になります。

    残念ながら、ハッキングプロセス全体はボットによって実行される可能性があります。

    ハッカーがXSSを使用して目標を達成する方法は5つあります。

    1.ユーザーセッションを乗っ取る

    XSS攻撃は、ハッカーがCookieにアクセスするのに役立ちます。 これの最も危険な側面は、このタイプの攻撃がユーザーのセッションIDを明らかにしたことです。

    大多数のWebサイトは、各サイトユーザーのセッションを利用して一意の識別子を設定します。 その後、セッションはスクリプトを使用してセッションCookie内に保存されます。

    ハッカーはセッションCookieを特定のサイト(http://198.178.260.468/など)に送信でき、要求はサーバーのaccess.logファイルに記録されます。

    ハッカーがセッション情報を使用すると、パスワードを必要とせずに、ログインした任意のアカウントにログインできます。

    2.不正なアクティビティの実行

    場合によっては、ハッカーはJavaScriptを使用して目的のCookieを盗むことができません。 このような場合、XSS攻撃を利用して、許可されていないアクティビティを実行しようとします。

    たとえば、コメントセクションにメッセージをポップアップさせ、繰り返し投稿し続けるスクリプトを使用する場合があります。

    このタイプのクロススクリプト攻撃は通常、ウイルスのようにユーザーに広がる悪意のあるスクリプトの形をとります。 また、サイトを改ざんするために使用することもできます。

    3.フィッシング攻撃

    多くの場合、WordPressのクロスサイトスクリプティングの脆弱性により、ハッカーは単純なXSS攻撃よりもはるかに大きなスキームになります。

    クロスサイトスクリプティングは、サイトへのフィッシング攻撃につながる可能性があります。

    通常、悪意のあるスクリプトがWordPressサイトにフィッシング詐欺を押し付け始め、ユーザーをだまして機密性の高い情報を提供させます。

    これは非常に危険な攻撃です。

    4.キーロガーのインストール

    このタイプの攻撃には、脆弱なWordPressサイトにキーロガーをインストールするスクリプトを実装するハッカーが関与します。

    ユーザーが何かを入力するたびに、このキーロガーは情報を保存してハッカーに送信します。 これは、クレジットカード情報、パスワード、医療情報などをすばやく簡単に盗む方法です。

    5.機密情報の盗難

    Cookieとその盗難について説明しました。 しかし、この特定の攻撃は、この原則を別のレベルに引き上げます。

    信用組合の「インターネットバンキング」ページがXSS攻撃を受けているシナリオを想像してみてください。 ハッカーが特定のスクリプトを使用する場合、ハッカーは検証なしで当座預金口座に直接ログインする可能性があります。

    これは新しい概念ではありませんが、ハッカーがセッションCookieを使用して実行できる機能の拡張です。

    WordPressサイトをクロスサイトスクリプティング攻撃から保護するにはどうすればよいですか?

    本当の問題は、プロのハッカーが悪意のあるテキストのより賢明なバリエーションを考え出し続けていることです。これにより、クロスサイトスクリプティングの最善の防止策さえも回避できるようになります。

    それは本当に一種の猫とネズミのゲームです。

    XSS攻撃を検出する最良の方法は、iThemes SecurityProなどのプラグインを使用することです。iThemesSecurityProには、クロスサイトスクリプティング攻撃に対する防御の最前線を構築するためのいくつかのWebサイトセキュリティ機能があります。 (これについては後で詳しく説明します)。

    また、最悪の事態が発生した場合にサイトの履歴の初期のポイントを復元できるBackupBudyなどのWordPressバックアッププラグインと防御を組み合わせることが非常に重要です。

    明らかに、完璧な世界では、このようなハッキングは決して起こりません。 しかし、XSS攻撃を防御することは非常に困難であるため、強化されたWordPressセキュリティが最優先事項になります。

    XSS攻撃のしくみ

    攻撃の仕組みは、ハッカーが開始した攻撃の種類によって異なります。 クロスサイトスクリプティングにはいくつかの種類がありますが、それらはすべてJavaScriptを利用して悪意のあるマルウェアを拡散します。

    JavaScriptに慣れていない場合、JavaScriptはWebサイトのHTMLコードの間にある言語です。 堅牢な計算を実行する特定の変数を作成できます。

    正直なところ、開発者はJavaScriptを使用して、考えられるほぼすべての機能を実行できます。

    たとえば、支払いを受け取ってデータベースに保存するWooCommerceサイトでは、JavaScriptを使用してログイン情報と支払いの詳細を別の人に送信できます。

    ハッカーがサイトコードのこの脆弱性を悪用してJavaScriptを実行する場合、それは全面的なXSS攻撃です。 この脆弱性の種類は通常、次の形式を含め、ユーザーがデータを入力するWebサイトのほぼすべての場所で発生します。

    • ポップアップ
    • 情報フォーム
    • 検索バー
    • URL

    データ入力フィールドは必ずしも視覚的である必要はないことに注意してください。 場合によっては、データベースまたはその他のファイルからサニタイズされていないデータを呼び出す、サイトコード内の障害のある変数である可能性があります。

    永続的または保存されたXSS攻撃

    しばらくの間、あなたのサイトがオープンコメントセクションのあるブログであると仮定します。 ユーザーの1人がコメントを残した場合、そのデータはデータベースに送信されて保存されます。

    データベースに保存する前に、そのデータをサニタイズするようにサイトを構成することが重要です。 つまり、ユーザーが正当なコメントを入力したかどうか、またはそれが悪意のあるスクリプトであるかどうかを確認する必要があります。

    このチェックを行わないと、WordPressでXSSの欠陥が発生する可能性があります。

    これがその仕組みです:

    1.ハッカーが脆弱性を見つけて悪用する

    ハッカーは、インターネットを検索し、クロスサイトスクリプティング攻撃に対して脆弱なサイトを見つけるスキャナーを採用しています。 サイトが見つかると、悪意のあるスクリプトがサイトのコメントセクションに配置されます。

    チェックを行わないと、サイトは悪意のあるスクリプトを取得してデータベースに送信します。

    2.訪問者は感染したページを表示します

    平均的なサイト訪問者にとって、ハッカーのデータは標準的なコメントのように見えます。 この訪問者が知らないのは、単純なコメントがCookieを盗む実行可能コードであるということです。

    このページにアクセスすると、悪影響が生じます。

    3.ブラウザのCookieの盗難

    ほとんどのユーザーは通常、ソーシャルメディア、電子メール、Amazon、YouTube、および雇用主のWebサイトなどのために、ブラウザーで常にいくつかのタブを開いています。

    ユーザーが感染したサイトにアクセスし、ハッカーのコメントを含むページを表示すると、コードがすぐに実行され、ハッカーがブラウザのCookieを盗むことができます。

    この攻撃は、任意のタブで開いているすべてのWebサイトからCookieを盗むことができるため、クロスサイト攻撃と呼ばれます。

    4.盗まれたCookieの悪用

    ハッカーは盗まれたCookieを使用して、たとえばショッピングサイトで認証されたサイトユーザーになりすまして違法な購入を行います。

    攻撃者は、パスワードやユーザー名などのアカウント情報を盗んだり、電子メールをハッキングしてフィッシングメールを連絡先リスト全体に送信したりすることもできます。

    悪意のある可能性は無限にあるようです。

    非持続的または反射的なXSS攻撃

    これはサイト訪問者への攻撃ではなく、Webサイトへの攻撃です。

    あなたがWordPressサイトの所有者であるなら、あなたはおそらくあなた自身、たくさんのブラウザタブを開いているでしょう。

    多くの場合、WordPress管理ダッシュボードは、日常的に開いたままにしておくさまざまなタブの1つにすぎません。 そしてこれこそが、反射型XSS攻撃を可能にするものです。

    これがどのように発生するかです:

    1.サイト所有者が悪意のあるリンクに引き寄せられる

    場合によっては、ハッカーは、あなたが彼らのちょっとしたトリックに陥ることを期待して、悪意のあるリンクをあなたの電子メールに送信します。

    その他の場合、ハッカーは他のサイトに悪意のあるリンクを配置します。

    これらのリンクのいずれかをクリックすると、外部サイトからWordPressサイトにスクリプトが読み込まれます。

    2.セッションCookieを取得する

    悪意のあるリンクをクリックすると、彼らが使用したコードが実行されます。 これにより、ハッカーはCookieを盗み、WordPressWebサイトの管理者アカウントにアクセスできるようになります。

    サイトへの完全な管理アクセスを取得した後、機密データとログイン資格情報を簡単に盗むことができます。 彼らはあなたをあなたのサイトから締め出したり、それを使っていくつもの異なるハックを実行したりすることさえできます。

    怖いのは、彼らがあなたの名前で行われるということです。

    適切に実行されたXSS攻撃は、ビジネスとWebサイトに大きな影響を及ぼし、信頼性を取り返しのつかないほど損なう可能性があります。 これらの攻撃からの回復には、貴重な時間と苦労して稼いだお金がかかる可能性があります。

    そのため、可能な限りの予防策を講じることが非常に重要です。

    WordPressクロスサイトスクリプティング防止:5つのステップ

    これを簡単に言う方法はありませんが、サイバー犯罪を回避するための絶対確実な計画は存在しません。 最善の方法は、定期的なWordPressセキュリティ監査のためのしっかりした計画を立てることです。 XSS攻撃を回避するための最初のステップは、これらのステップで今すぐ準備を開始することです。

    1. iThemes SecurityProプラグインをダウンロードしてインストールします

    サイトの保護と保護を開始するには、iThemes SecurityProプラグインをダウンロードしてインストールします。

    今すぐiThemesSecurityProを入手

    2.セッションハイジャックからユーザーを保護します

    簡単に言えば、WordPressWebサイトの管理者と編集者に対してセッションハイジャック保護を設定する必要があります。

    どうして? 前述したように、ordPressは、WebサイトにログインするたびにセッションCookieを生成します。 また、開発者によって放棄され、セキュリティ更新プログラムをリリースしなくなったブラウザ拡張機能があるとします。 残念ながら、無視されたブラウザ拡張機能には脆弱性があります。 この脆弱性により、悪意のある攻撃者が前述のWordPressセッションCookieを含むブラウザCookieを乗っ取る可能性があります。 繰り返しますが、このタイプのハッキングはセッションハイジャックとして知られています。 そのため、攻撃者は拡張機能の脆弱性を悪用してログインを便乗させ、WordPressユーザーに悪意のある変更を加え始める可能性があります。

    iThemes Security Proの信頼できるデバイス機能により、セッションハイジャックは過去のものになります。 セッション中にユーザーのデバイスが変更された場合、iThemes Securityはユーザーを自動的にログアウトして、ユーザーの電子メールアドレスの変更や悪意のあるプラグインのアップロードなど、ユーザーのアカウントでの不正なアクティビティを防止します。

    iThemes Security Proの信頼できるデバイス機能は、あなたや他のユーザーがWordPressサイトへのログインに使用するデバイスを識別するために機能します。 デバイスが特定されたら、セッションハイジャッカーやその他の悪意のある人物がWebサイトに損害を与えるのを防ぐことができます。

    ユーザーが認識されないデバイスにログインすると、信頼できるデバイスは管理者レベルの機能を制限できます。 つまり、攻撃者がWordPressサイトのバックエンドに侵入できた場合、攻撃者はWebサイトに悪意のある変更を加えることができなくなります。

    このシナリオでは、誰かが認識されていないデバイスからサイトにログインしたことを通知する電子メールを受信します。 電子メールには、ハッカーのデバイスをブロックするオプションが含まれています。 そうすれば、悪者の日を台無しにしたことを知って、ただ笑って笑うことができます。

    信頼できるデバイスのもう1つの利点は、セッションハイジャックが過去のものになることです。 セッション中にユーザーのデバイスが変更された場合、iThemes Securityはユーザーを自動的にログアウトして、ユーザーの電子メールアドレスの変更や悪意のあるプラグインのアップロードなど、ユーザーのアカウントでの不正なアクティビティを防止します。

    信頼できるデバイスの使用を開始するには、セキュリティ設定のメインページで信頼できるデバイスを有効にしてから、[設定の構成]ボタンをクリックします。

    [信頼できるデバイス]設定で、この機能を使用するユーザーを決定し、[機能の制限]および[セッションハイジャック保護]機能を有効にします。

    新しい信頼できるデバイスの設定を有効にすると、ユーザーはWordPress管理バーに保留中の認識されていないデバイスに関する通知を受け取ります。 現在のデバイスが信頼できるデバイスのリストに追加されていない場合は、[このデバイス確認]リンクをクリックして認証メールを送信します。

    認識されないログイン電子メールの[デバイス確認]ボタンをクリックして、現在のデバイスを[信頼できるデバイス]リストに追加します。

    信頼できるデバイスを有効にすると、ユーザーはWordPressのユーザープロファイルページからデバイスを管理できます。 この画面から、[信頼できるデバイス]リストからデバイスを承認または拒否できます。

    さらに、一部のサードパーティAPIにサインアップして、信頼できるデバイスの識別の精度を向上させ、静的イメージマップを使用して認識されないログインのおおよその場所を表示するオプションがあります。 信頼できるデバイスの設定をチェックして、利用可能な統合を確認してください。

    3.バージョン管理をアクティブにして、テーマとプラグインを最新の状態に保ちます

    開示されたすべてのWordPressの脆弱性を追跡することは困難であり、WordPressの脆弱性のまとめで追跡して共有し、そのリストをWebサイトにインストールしたプラグインやテーマのバージョンと比較します。 ただし、これはWordPressハッカーが既知の脆弱性を持つプラグインやテーマを標的にすることを阻止するものではありません。 既知の脆弱性を持つソフトウェアをサイトにインストールすると、ハッカーはWebサイトを乗っ取るために必要な青写真を得ることができます。

    iThemes Security Proのバージョン管理機能を使用すると、WordPress、プラグイン、およびテーマを自動更新できます。 さらに、バージョン管理には、古いソフトウェアを実行しているときにWebサイトを強化し、古いWebサイトをスキャンするオプションもあります。

    バージョン管理の使用を開始するには、セキュリティ設定のメインページでモジュールを有効にします。

    次に、[設定の構成]ボタンをクリックして、設定を詳しく確認します。

    4.iThemesセキュリティサイトスキャンをオンにします

    iThemes Security Pro Site Scanは、既知のWordPress、プラグイン、およびテーマの脆弱性についてWebサイトをチェックし、利用可能な場合はパッチを適用します。

    新規インストールでサイトスキャンを有効にするには、iThemes Security Pro設定に移動し、サイトスキャン設定モジュールの[有効にする]ボタンをクリックします。

    手動のサイトスキャンをトリガーするには、セキュリティ設定の右側のサイドバーにあるサイトスキャンウィジェットの[今すぐスキャン]ボタンをクリックします。

    サイトスキャンの結果がウィジェットに表示されます。

    サイトスキャンで脆弱性が検出された場合は、脆弱性のリンクをクリックして詳細ページを表示します。

    サイトスキャンの脆弱性ページで、脆弱性に対して利用可能な修正があるかどうかを確認します。 利用可能なパッチがある場合は、[プラグイン更新]ボタンをクリックして、Webサイトに修正を適用できます。

    パッチが利用可能になってから、修正を反映するようにiThemes Security VulnerabilityDatabaseが更新されるまでに遅延が生じる可能性があります。 この場合、通知をミュートして、脆弱性に関連するアラートをこれ以上受信しないようにすることができます。

    重要:現在のバージョンにセキュリティ修正が含まれていることを確認するまで、脆弱性通知をミュートしないでください。そうしないと、脆弱性がサイトに影響を与えません。

    5.ファイル変更検出をオンにします

    ファイル変更の監視を開始するには、セキュリティ設定のメインページでファイル変更検出を有効にします。

    WordPressセキュリティファイル変更検出設定

    ファイル変更検知を有効にすると、iThemes SecurityProはWebサイトのすべてのファイルをチャンクでスキャンし始めます。 ファイルをチャンクでスキャンすると、ファイルの変更を監視するために必要なリソースを削減するのに役立ちます。

    最初のファイル変更スキャンは、Webサイトのファイルとそのファイルハッシュのインデックスを作成します。 ファイルハッシュは、ファイルのコンテンツの短縮された、人間が読めないバージョンです。

    最初のスキャンが完了した後、iThemes SecurityProはファイルをチャンクでスキャンし続けます。 後続のスキャンの1つでファイルハッシュが変更された場合、それはファイルの内容が変更されたことを意味します。

    [ファイル変更検出]設定の[今すぐファイルをスキャン]ボタンをクリックして、手動でファイル変更を実行することもできます。

    WordPressのファイル変更のセキュリティスキャンボタン

    まとめ:クロスサイトスクリプティングとWordPressサイトの保護

    このガイドが、WordPressサイトでのクロスサイトスクリプティングのリスクを理解するのに役立つことを願っています。 上記の5つのステップに加えて、いくつかのWordPressセキュリティのベストプラクティスを実装することで、より優れた防御線が得られます。

    ボーナスコンテンツを入手する:WordPressセキュリティのガイド
    ガイドをダウンロードする

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