HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

WordPress XSS 攻撃:防御方法

WordPress XSS またはクロスサイト スクリプティング攻撃は、今日の Web で最も一般的なハッキング メカニズムです。彼らはあなたのウェブサイトの訪問者を標的にして、彼らの情報を盗もうとしています. XSS 攻撃の最悪の部分は、攻撃者が WordPress Web サイトの脆弱性を利用してこれを行うことです。

WordPress ファイアウォールをインストールして、訪問者を XSS 攻撃から保護します。

表面的には、XSS 攻撃は特にブルート フォースや SQL インジェクションなどの他の攻撃と比較すると、それほど脅威的ではないように見えます。クロスサイト スクリプティング攻撃は JavaScript を使用して実行され、JavaScript はブラウザーによって厳密に制御されます。したがって、個人のデバイスの残りの部分へのアクセスは非常に制限されている必要があります。その通りですが、だからと言って危険が減るわけではありません。

WordPress の XSS 攻撃は、より有害な攻撃へのゲートウェイであり、それ自体が危険なものとして扱われるべきです。

TL;DR: MalCare を使用して、ハッカーが訪問者のデータを盗むのを阻止します。 MalCare には WordPress ファイアウォールが統合されており、ハッカーが Web サイトの XSS 脆弱性を悪用するのを防ぎます。 MalCare は完全なセキュリティ プラグインで、スキャナー、クリーナー、ファイアウォールをまとめて WordPress の完全なセキュリティを実現します。

WordPress XSS 攻撃とは

クロスサイト スクリプティング攻撃 (略して WordPress XSS) は、攻撃者が悪意のある JavaScript コードを Web サイトに挿入することです。訪問者がその Web サイトにアクセスすると、ブラウザーがコードを実行します。悪意のあるスクリプトは、信頼できるソース (この場合は Web サイト) からのものであると想定されます。

Web サイトにクロスサイト スクリプティングの脆弱性があるため、XSS 攻撃が可能です。脆弱性は、Web サイトが生成する出力に外部入力を使用し、最初に検証またはチェックしないことです。

技術に興味のない私たちにとっては、その説明は象形文字にもあったかもしれません。 XSS がどのように機能するかを理解するために、非技術的な類推を見てみましょう。

あなたがABC社で働いていると想像してみてください。彼らは、あなたがしなければならない仕事が入ったフォルダーをあなたに渡します。あなたはそれを読み、フォルダーが ABC によってコンパイルされていることを信頼して、作業を開始します。ただし、ABC 社が作業フォルダーを公開したままにして、誰でも入ってフォルダーにページを挿入できるとします。論理的にはそうすべきだと指示されていますが、ABC は挿入されたページをチェックしません。代わりに、フォルダーを直接あなたに渡します。このフォルダは ABC に属しているため、信頼できると想定します。

ただし、攻撃者は不適切な指示を含むページをフォルダーに挿入する可能性があります。 ABCはそれが悪いことを知らないし、あなたはそれがABCのものだからいいと思って進んでいく。これは明らかに単純化した例えです。人は良し悪しを判断できますが、ブラウザは判断できません。手紙の指示に従います。

WordPress での XSS 攻撃の結果

XSS 攻撃の主な標的は、Web サイトの訪問者、より具体的にはその訪問者の情報です。したがって、XSS 攻撃が成功した場合、悪意のあるスクリプトは、Web サイトがアクセスできる訪問者のブラウザー上のすべての情報にアクセスできます。これには、Cookie、セッション情報などが含まれます。

この段階では、多くのことがうまくいかない可能性があります:

  • ハッカーは訪問者の個人データにアクセスし、ウェブサイトのアカウントを乗っ取ることができます。この時点から、事態は急速にエスカレートする可能性があります。
  • 訪問者はデータにアクセスできるため、ハッカーは訪問者になりすますことができます
  • 悪意のあるスクリプトは、訪問者を別の Web サイトに誘導したり、訪問した元のサイト以外のコンテンツを表示したりする可能性があります。悪意のあるスクリプトは、ブラウザでのページの表示方法を変更することさえできます。
  • 非常に悪いケースでは、攻撃者はフィッシングなどのソーシャル エンジニアリング攻撃で訪問者を標的にすることができます。

Web サイトの場合、WordPress XSS 攻撃の影響はさまざまです。 WordPress Web サイトは、ハッカーによって盗まれる可能性のあるプライベート ユーザー データを保存すると、深刻な問題に陥る可能性があります。問題のユーザーが管理者または十分な権限を持つユーザーである場合、ハッカーはそのユーザーになりすまして Web サイトを完全に侵害することができます。

Web サイトに WordPress の XSS 脆弱性があるかどうかを確認する方法

XSS 脆弱性はコードに存在します。 WordPress コア コードまたはプラグインとテーマのコード。 Web サイト用のカスタム コードを開発している場合を除き、ユーザー入力を直接処理することはほとんどないため、セキュリティを確保する方法を理解することは、あなたの仕事の範囲内ではありません。

WordPress Web サイトが XSS 攻撃を受けやすいかどうかを確認できる唯一の実際の方法は、XSS Hunter などのスキャナーを使用するか、侵入テスターのサービスを利用することです。

ただし、これは、Web サイトの潜在的な XSS 脆弱性から Web サイトの訪問者を保護できないという意味ではありません。 WordPress ファイアウォールをインストールすると、攻撃を防ぎ、訪問者を保護するのに大いに役立ちます。

さらに、インストールされているプラ​​グインとテーマのタブを維持できます。それらのいずれかが XSS の脆弱性を開示する場合は、できるだけ早く更新してください。 MalCare は毎日あなたのウェブサイトをスキャンするので、これを簡単にします。脆弱なプラグインやテーマが見つかった場合は、MalCare ダッシュボードから安全に更新できます。

XSS エクスプロイト攻撃が Web サイトでマルウェアを取得した場合

表向きはサイト訪問者が XSS 攻撃のターゲットですが、そのグループには Web サイト管理者も含まれる場合があります。 Web サイトにクロスサイト スクリプティングの脆弱性があり、管理者のアカウントが侵害された場合、Web サイトのセキュリティも侵害されていると想定する必要があります。

XSS 攻撃は、個人からデータを盗むだけでなく、リモート コード実行などの他の攻撃を永続させるためにも使用されます。

そのため、WordPress の XSS 攻撃がすぐにマルウェアに変換されるわけではありませんが、用心して過ちを犯すことをお勧めします。 Web サイトにマルウェアが含まれている場合は、すぐに対処してください。

ウェブサイトをスキャン

Web サイトに本当にマルウェアがあるかどうかを確認する唯一の方法は、スキャンすることです。これを行うにはいくつかの方法がありますが、すべての方法が同じように効果的であるとは限りません。

WordPress XSS 攻撃:防御方法

セキュリティ スキャナでウェブサイトをディープ スキャンすることをおすすめします Web サイトまたはデータベース内のマルウェアの最小の痕跡を見つけます。これは、Web サイトにマルウェアが存在するかどうかを判断する決定的な方法です。答えが分かったら、ハッキングされた WordPress サイトに対処するためのガイドに従って、それを取り除くことができます。

WordPress XSS 保護:XSS 攻撃を防ぐ 5 つの方法

WordPress クロスサイト スクリプティングの脆弱性はコードで発見されており、WordPress 管理者がこれらの脆弱性を取り除くためにできることはほとんどありません。ただし、サイト訪問者を XSS 攻撃から保護するためにできることは確かにあります。

WordPress XSS 攻撃:防御方法

1.ウェブ アプリケーション ファイアウォールをインストールする

ファイアウォールは、絶えず進化する脅威に直面した場合の最善の防御策です。ファイアウォールには、通常 XSS 攻撃で見られる疑わしいテキストを含む可能性のあるリクエストを探す特別なルールがあります。

推奨記事:WordPress で国の IP アドレスをブロックする方法

2.すべてのプラグインとテーマを更新

WordPress のセキュリティ脆弱性は、プラグインやテーマで常に発見されています。責任ある開発者は、Web サイトが危険にさらされないように、セキュリティ パッチをリリースします。パッチが利用可能になると、脆弱性を発見した人々がニュースをリリースします。そのため、プラグインやテーマを更新していない Web サイトはハッカーの標的になります。

3.適切な WordPress セキュリティ プラグインをインストールする

XSS 攻撃は、対象となるユーザーが管理者である場合、Web サイトの所有者にとって非常に危険です。 XSS を使用してログイン資格情報を取得し、Web サイトをマルウェアに感染させることができます。優れたセキュリティ プラグインは、ユーザーの異常なアクティビティを監視するのに役立ち、毎日のスキャンでマルウェアをすばやく特定します。

4. WordPress の強化を実装する

WordPress の強化は、WordPress サイトを一般的により安全にするために実行できる一連の手順です。その中でも特におすすめなのが二要素認証です。 XSS 攻撃の最大の危険は、ログイン資格情報と ID の盗難です。そのため、2 要素認証は、盗まれた資格情報がサイトへのアクセスに使用されるのを防ぐのに大いに役立ちます。 XML-RPC を無効にするなど、その他の強化手順も実装するとよいでしょう。

5.最小権限のユーザー ポリシーに従う

XSS 攻撃が原因でユーザーのアカウントが危険にさらされた場合、そのユーザーが与える可能性のある損害は、Web サイトでのアクセス許可によって制限されます。

WordPress 開発者の場合は、常にユーザー入力をサニタイズしてください。 Web サイトでは、特に出力として表示する前に、すべての入力に悪意のあるコードがないかチェックする必要があります。

WordPress XSS 攻撃のしくみ

XSS 攻撃は、インジェクションとフォールアウトの 2 つの部分で機能します。

まず、ハッカーは悪意のある JavaScript コードを脆弱な Web サイトに挿入します。これにはいくつかの方法がありますが、これについては次のセクションで説明します。次に、訪問者がサイトにアクセスすると、ブラウザは悪意のある JavaScript コードを Web サイトの一部であると認識して実行します。

The consequence of this is that a hacker now has access to all the visitor’s data that is visible to the website. This might include their cookies, session information, and login data. The information can be used to launch other attacks like phishing or cookie stealing.

What does this have to do with your WordPress website?

At this point, it looks like the problem lies with the visitor and their browser. However, that is not accurate. The browser would not execute the malicious code unless it thought it was a part of a trusted website. If the visitor is on your site, the trusted website is yours.

The XSS attack works because a website needs to have an XSS vulnerability. That means it should accept user input without checking or validating the input in any way. Only then does WordPress XSS exploit allow an attacker to inject JavaScript into the website without a problem.

Let’s look at an example.

On a WordPress blog, the admin wants to be able to allow readers to post comments under articles. The admin installs a plugin to manage said comments.

When a reader wants to post a comment, they type it into a text field, which has been provided by the plugin. Anyone can type up their comment and send it to the website database. So far so good.

The problem appears when someone who is not-so-nice types up a comment, but adds a script to it as well. The input would be something along the lines of:“This cake recipe is superb! The script tags enclose JavaScript code that is malicious and designed to interact with other visitors to the site.

The plugin doesn’t check the comments for these scripts, assuming that it is all text. And then saves it, as is, to the database. This is an XSS vulnerability.

Now, another visitor comes to the blog page, and their browser loads the page and the comments. The website database has saved all the comments, and so sends it to the browser so the new visitor can see them. But because there is JavaScript in one of the comments, the browser thinks that bit of code needs to be executed. And it does that, assuming the code is a part of the website. But it wasn’t. The website thought the code is text, and has saved it as such. The browser sees a script and executes it. This is how an XSS attack works.

If the plugin checked the comments for malicious code before saving them to the database, the website wouldn’t have the XSS vulnerability. The browser wouldn’t receive the JavaScript code, and the visitor’s data would be safe.

Types of cross-site scripting attacks

Cross-site scripting attacks are categorised depending on where the code is stored and executed. There are 3 main types of attacks:stored or persistent, reflected, and DOM . However, they are not mutually exclusive. XSS attacks can be a combination of these types. It is still useful to understand these types though, and see how they intersect with each other.

  • Stored XSS: In our comment example of the previous section, the comment was sent to the website database and stored there. Then, when a visitor comes along, it is sent to their browser. Because the code is stored on the database, it will be sent to all visitors. That’s why it is called stored or persistent XSS.
  • Reflected XSS: Reflected XSS attacks are a little tricky to understand, because it involves the visitor sending the malicious code to the website themselves, albeit unwittingly.

    An attacker sends your website link to your visitors, typically via email or a neutral website. The link contains malicious code though, so when the visitor clicks on it, it sends that code to your website. If your website has an XSS vulnerability, it means that your website isn’t checking user input like this for malicious code. So when your website sends the response back to the visitor’s browser, it includes the malicious code as well. The visitor’s browser now thinks that the code is part of your website, and executes it. And thus the attacker has access to the visitor’s information.

In both stored and reflected XSS attacks, the website is involved in the attack. The malicious code actually goes into the web server or database, and is sent back to the visitor. The only difference is whether the attacker sends it to the website or the visitor themselves.

  • DOM-based XSS: In the case of DOM-based XSS, the code is not sent to the website at all. The malicious code can be sent to the visitor like in a reflected XSS attack, but instead of being sent to the website at all, it is executed by the browser directly.

    This may seem like this isn’t a vulnerability on the website at all, but it is. The malicious script isn’t sent to the website, but remains in the visitor’s browser. The visitor’s browser sends a request to the website server. The server response uses user input which is already in the browser. Which in this case is malicious code.

To understand types of XSS attacks better, check out this dedicated resource.

That being said, the types of XSS attacks shouldn’t be of concern to you, because there is little you can actively do to resolve Cross-site scripting vulnerabilities. It is not feasible to vet plugins and themes to see if they have these vulnerabilities before they are discovered after all. However, once they are discovered, you should update them right away.

You can protect your website visitors from Cross-site scripting attacks by installing a firewall. This is the only real defense against malicious code.

Takeaways

A wordPress XSS attack is very common and they target website visitors to steal data. As a responsible website admin, you want to protect your visitors from harm. Installing a WordPress firewall will go a long way in doing that. MalCare is a sophisticated WordPress firewall, and a great security plugin. The vulnerability and malware scanner helps mitigate the ill effects of malware quickly and effectively.

Also Read:Prevent Cross-site Scripting attacks

FAQs

Is WordPress vulnerable to XSS?

Yes, WordPress is vulnerable to XSS attacks. There are many XSS vulnerabilities discovered in the WordPress core files, in addition to the plugins and themes. Responsible developers resolve these WordPress XSS vulnerabilities quickly and update their software so it cannot be exploited by hackers.

What does cross-site scripting mean?

Cross-site scripting (XSS) is a cyberattack that uses malicious scripts on your web browser to hack browser session cookies to steal highly sensitive data. Used effectively, cross-site scripting can steal passwords and financial information. WordPress XSS hacks are very difficult to defend against unless you use a powerful firewall.

How to Prevent XSS in WordPress?

The simplest way to defend against XSS attacks in WordPress is to install a firewall that can effectively block out malicious traffic. For WordPress, we also recommend hardening your website against typical hacks.


  1. WordPress キャッシュを適切にクリアする方法

    調査によると、読み込みの速い Web サイトは、ユーザーのブラウジング エクスペリエンスを向上させ、コンバージョンを増加させ、ユーザーの維持率を向上させることが示されています。ウェブサイトの速度は Google の Core Web Vitals の重要な指標であるため、高速なウェブサイトはウェブサイトのトラフィックと検索エンジンのランキングも向上させます。 WordPress Web サイトの速度を向上させる最も効果的な方法は、WP Rocket や WP Super Cache などの WordPress キャッシュ プラグインを使用してページ キャッシュを有効にすることです。 ペー

  2. WordPress ブルート フォース攻撃から Web サイトを保護する方法

    WordPress ブルート フォース 攻撃が成功する前であっても、攻撃は圧倒されます。 多くのサイト管理者は、サーバー リソースが急速に枯渇し、サイトが応答しなくなったり、場合によっては完全にクラッシュしたりして、実際のユーザーがロックアウトされることを目の当たりにしています。問題は、ブルート フォース ボットがログイン ページを叩き、wp-admin にアクセスしようとするので、無力感を感じることがあるということです。 しかし、あなたは無力ではありません。複数の IP からログインしている可能性がある、1 人のユーザーに対して複数回のログイン試行の失敗が見られる場合は、適切な場所に