WordPress Newspaper テーマ:wp-zexit関連マルウェア感染注意 - 治療と予防

Last Updated: 2023 年 10 月 07 日 2のコメント

최근 WordPress Newspaper テーマを使用しているサイトにwp-zexitプラグインがインストールされ、サイトにアクセスすると奇妙なサイトにリダイレクトされる問題を訴えるユーザーが増えました。 海外コミュニティによると、この問題はtagDiv Composerプラグインにセキュリティの脆弱性があるために発生するという。

Newspaper テーマを使用している場合は、バックアップを徹底し、wp-zexitプラグインがインストールされていますが、それがないこと、そして奇妙なサイトにリダイレクトされないことを確認してください。

wp-zexitプラグインがインストールされている、または奇妙なサイトにリダイレクトされる場合は、以下の記事を参照して対処してください。

2023年10月7日更新:tagDiv Composer 4.2未満のバージョンでUnauthenticated Stored XSSが見つかりました

최근 Newspaper テーマを使用する WordPress サイトがwp-zexit関連のマルウェアに感染するケースが増加しました。 このセキュリティの脆弱性はtagDiv Composer 4.2で修正されたと言われています。 2023年10月7日現在、tagDiv Composerのバージョンは4.4です。

Newspaper テーマを使用している場合は、wp-zexitプラグインがインストールされていないか、奇妙なユーザーが追加されていないか、そしてリダイレクトなどの異常症状が発生しないかを慎重にチェックしてください。

異常がない場合は、次のコードをwp-config.phpファイルに追加して通知パネルを介してファイルを変更できないようにテーマエディタを無効にすると便利です。 もちろん、テーマが最新バージョンでない場合は、最新バージョンに更新するようにしてください。

define('DISALLOW_FILE_EDIT', true);

WordPress Newspaper テーマ:wp-zexit関連マルウェア感染時の対処方法

訪問者が Newspaper テーマで作成したサイトにアクセスすると、以下のような奇妙なサイトにリダイレクトされる現象が発生する場合が最近頻繁になっています。 サイトにアクセスすると以下のような変なページに移動すると Naver カフェを介して Newspaper ユーザーが通知しました。 また、この問題は海外コミュニティでも多くのユーザーによって提起されているようです。

WordPress Newspaper テーマ:wp-zexit関連マルウェア感染の注意

テーマを残して WordPress サイトや他のサイトにアクセスしたときに奇妙なページに移動すると、マルウェア(マルウェア)に感染している可能性があります。

Newspaper テーマがインストールされているサイトから奇妙なページにリダイレクトされている場合は、まずバックアップがあるかどうかを確認し、マルウェアに感染する前の状態に戻すことができる場合は、元に戻した後にセキュリティ対策をしてください。

Cafe24の場合、過去7日間のバックアップが提供されます。 クラウドウェイズを使用している場合は、サイトを自動復元することができます(参照).

Newspaper テーマを使用している場合は、次のことを確認してマルウェア感染の有無を判断できます。

  1. サイトにアクセスすると、奇妙なサイトに移動します。
  2. wp-zexit 또는 wp-swamp などの奇妙なプラグインがインストールされている。
  3. greecemanという奇妙なユーザーが作成されている。 (マルウェアに感染した場合、奇妙なサイトが生成されていることが多いです。)
  4. マルウェアスキャン時にトロイの木馬(トロイヤン)マルウェアが検出されました

wp-zexitプラグインがインストールされ、奇妙なサイトにリダイレクトされる場合 reddit フォーラムでこの問題に対処しているので、注意してマルウェアを削除することができます。 このRedditフォーラムに掲載されているマルウェアを削除する方法のXNUMXつを紹介すると、次のようになります。 データとディビをバックアップした後に進みます。

  1. Newspaper テーマを無効にしてフォルダを削除します。 tagDiv Composerを含む Newspaper テーマに関連するすべてのプラグインを無効にして削除します。
  2. WP-コンテンツ/pluginsに移動し、 wp-zexit 또는 wp-swampを見つけてフォルダを削除します。
  3. 今新しい WordPress サイトをインストールしようとしています。 wp-contentフォルダをバックアップします(重要!)wp-config.phpやその他の重要なファイルをバックアップします。 wp-contentフォルダを削除し、データベースをバックアップします。
  4. サイトフォルダ内のすべてのファイルを削除します。
  5. wordpress.org/latest.zipから最新 WordPress インストールファイルをダウンロードして解凍してアップロードします。 本来 WordPressがインストールされているサーバーのルートフォルダにアップロードします。
  6. バックアップしたwp-config.phpファイルとwp-contentフォルダを復元します。
  7. 次に、データベースが感染しているかどうかを確認します。 WordPress DBからwp_usersテーブルに移動し、作成していない奇妙なユーザーがいるかどうかを確認します。 おそらく "greeceman"というユーザーが作成されているでしょう。 select * from wp_users; クエリを使用して検索できます。
  8. そのユーザーを削除します。 たとえば、ハッカーユーザーのIDが19の場合 delete from wp_users where ID=19; クエリを実行してそのサイトを削除できます。 (where条件文なしでSQLコマンドを実行すると、すべてのユーザーが削除されますので注意してください。DBを操作するときは、必ずバックアップしてください。)
  9. select option_value from wp_options where option_name = 'td_live_css_local_storage'; クエリを使用して td_live_css_local_storageに変なことがないかチェックします。 おそらく難読化されたsh1tがたくさん見つかるでしょう。
  10. UPDATE wp_options SET option_value = '' WHERE option_name = 'td_live_css_local_storage'; クエリを実行して削除します。
  11. これでマルウェアがすべて削除されました。 今、別のテーマを使用するのは安全です。 Newspaper 代わりにこのブログにインストールされています GeneratePressのようなテーマもXNUMXつのオプションとして考えることができます。 このブログでは Newspaper テーマを一時間使ってGPテーマに変えました。 Newspaper テーマは華やかに飾るのに良いですが、トラフィックをたくさん占め、スピードの面でも遅くなります。

上記の方法でも、完全にマルウェアが削除されていない可能性があります。 その後、wp-contentフォルダ(uploadsフォルダを含む)をチェックして、奇妙なファイルがないことを確認してください。

また、次の措置を講じてください。

  1. WordPress、テーマ、プラグインをすべて最新バージョンに更新します。
  2. セキュリティプラグインをインストールします。 (マルウェアが感染した状態でセキュリティプラグインをインストールする場合がありますが、この場合、マルウェアを正しく削除できませんので、必ずマルウェアの削除後にインストールしてください。)
  3. 定期的にバックアップします。

マルウェアをすべて削除した場合は、ウェブホスティング会社に連絡してマルウェアのスキャンを依頼することができます。 ファーストコメットSiteGround などでは、マルウェアを削除しなければサイトのブロックを解放します。

Newspaper テーマサイトがマルウェアに感染していない場合

このブログの サブディレクトリにニュースフェーターのテーマがインストールされています。 幸いなことに、wp-zexitに関連するマルウェアに感染していないようです。

私はあなたが知らなかったので、次のコードを.htaccessファイルに追加しました。

# Protect specific plugin directories
RewriteEngine On
RewriteBase /
RewriteRule ^wp-content/plugins/wp-zexit/ - [F,L]
RewriteRule ^wp-content/plugins/wp-swamp/ - [F,L]

そして チャイルドテーマの関数ファイルに次のコードも追加しました。

function prevent_wp_zexit_activation() {
    include_once(ABSPATH . 'wp-admin/includes/plugin.php');
    if (is_plugin_active('wp-zexit/wp-zexit.php')) {
        deactivate_plugins('wp-zexit/wp-zexit.php');
        delete_plugins(array('wp-zexit/wp-zexit.php'));
    }
}
add_action('admin_init', 'prevent_wp_zexit_activation');

また、次のコードも追加しました。 このコードにより、どのユーザーも新規ユーザーを作成できなくなります。

function remove_create_users_capability_from_all_roles() {
    $roles = array('administrator', 'editor', 'author', 'contributor', 'subscriber'); // Standard WordPress roles

    foreach ($roles as $role_name) {
        $role = get_role($role_name);
        if ($role && $role->has_cap('create_users')) {
            $role->remove_cap('create_users');
        }
    }
}
add_action('init', 'remove_create_users_capability_from_all_roles');

これらの措置がうまくいくかどうかはわかりません。 おそらく海外ユーザー Newspaper テーマ開発者にこの問題について報告したはずなので、近いうちにこの問題にパッチしたアップデートが出るのではないかと思います。

tagDiv Composer バージョン 14.2 以降でこの問題が解決されたとします。 なるべく最新バージョンにアップデートしてください。

追加: $css_buffer 問題

一時的な解決策として WP-コンテンツ/plugins/td-composer/css-live/css-live.php ファイルの ... 間のコードを削除することが示されています。

No, the problem is in the tagdiv composer plugin. I found a quick-fix. This is not a permanent solution, but it works quickly:

wp-content/plugins/td-composer/css-live/css-live.php line: 142 where is <style id="tdw-css-placeholder">. Just delete code between <style id="tdw-css-placeholder"> and ending </style>

しかし、この部分は見てみると、以前のバージョンのtagDiv Composerで問題になっていたようです。 たとえば、以前のバージョンでは、この部分が次のようになっているようです。

add_action( 'wp_head', 'td_live_cs_inject_css', 100000 );
function td_live_cs_inject_css() {
$css_buffer = td_live_cs_inject_css_storage::get( 'css' );

if ( !empty( $css_buffer ) ) {
echo ' <style id="tdw-css-placeholder">' . $css_buffer . '</style>';
}
}

Newspaper バージョン12.6(tagDiv Composerバージョン4.3)を見てみると、この部分が次のように変わりました。

function td_live_css_inject_css() {

			$css_buffer = td_live_css_css_storage::get( 'css' );

            $css_buffer = strip_tags($css_buffer);



			echo '	<style id="tdw-css-placeholder">/* custom css - generated by TagDiv Composer */' . PHP_EOL . $css_buffer . '</style>';

		}

おそらく $css_buffer = strip_tags($css_buffer); 部分で strip_tags() 関数がセキュリティリスクを軽減するために使用されているのではないかと考えられます。

参照


2のコメント

コメント

    • 최근 Newspaper テーマを使用するサイトがマルウェアに感染したと訴えるユーザーが多いですね。 私はいくつかの措置を講じましたが、まだ幸いなことに異常はありません。 すぐにセキュリティの脆弱性が解決されたらと思います。

      応答