Support » Installation » .htaccess wird ständig falsch erneuert

  • Gelöst mumbomedia

    (@mumbomedia)


    Hallo

    wir haben beim Erstellen unserer neuen Webseite https://www.mumbomedia.de/werbeagentur ein merkwürdiges .htaccess-Problem.
    Nach jedem Seitenaufruf wird die .htaccess überschrieben und statt /werbeagentur als RewriteBase steht dort /. Darüberhinaus sind die Rechte von korrekten 644 auf 444 gesetzt. Der nächste Klick auf einen Menüpunkt landet auf die derzeite Webseite https://www.mumbomedia.de/cms/

    Das System habe ich nochmal neu aufgesetzt und die Daten aus dem alten System via Import-Funktion von WordPress (WordPress-XML) importiert.
    Soweit ich ermitteln konnte wird die Datei von /wp-includes/rewrite.php geändert. Irgendjemand eine Idee woran das liegen kann.

    PHP-Version ist 5.5

Ansicht von 12 Antworten - 16 bis 27 (von insgesamt 27)
  • Thread-Starter mumbomedia

    (@mumbomedia)

    Leider wird die .htaccess allen Anschein nach woanders überschrieben.
    Ich suche nun mal nach allen Dateien in denen .htaccess vorkommt.
    irgendeine muss ja die Datei neuschreiben.

    Thread-Starter mumbomedia

    (@mumbomedia)

    Wer suchet der findet.
    Die schuldige Datei ist die /wp-includes/nav-menu.php
    Dort gibt es eine Funktion my_correct an der folgendes als Parameter übergeben wird ‚/home/www/web17/html/werbeagentur/wp-includes/..‘, demnach das Hauptverzeichnis /werbeagentur.
    Dort steht der Code base64 decodiert drin. Auch eine chmod-Anweisung mit 0444 habe ich dort gefunden und darauf in die Funktion ein file_put_contents eingefügt. Volltreffer.
    Sobald die Datei geladen wird, wird der Code ausgeführt und die .htaccess überschrieben. Das Einbinden passiert beim Aufbau der Seite, wenn die Menüs erstellt werden.
    Beim require durch wp-settings.php wird ja der Code durch den PHP-Interpreter gejagt. Die Anweisung my_correct(dirname(__FILE__) . ‚/..‘); (Zeile 549) sorgt für das Neuerstellen der .htaccess.
    Damit scheint das Problem ein Bug in WordPress zu sein.

    Thread-Starter mumbomedia

    (@mumbomedia)

    Auch wenn das sicher nicht die schönste Lösung ist,
    Das Auskommentieren der Zeile 549, hat das Rewrite-Problem gelöst.

    Warum allerdings diese Funktion die Anweisungen als base64-dekodierten String enthält ist mir schleierhaft ebenso ihr Sinn.

    Auffällig ist, dass diese Funktion im Gegensatz zu den anderen Funktionen in der nav-menu.php nicht dokumentiert ist.
    Bei allen anderen Funktionen findet sich ein Kommentarblock wie z.B. bei mytime

    /**
     * Returns all navigation menu objects.
     *
     * @since 3.0.0
     * @since 4.1.0 Default value of the 'orderby' argument was changed from 'none'
     *              to 'name'.
     *
     * @param array $args Optional. Array of arguments passed on to {@see get_terms()}.
     *                    Default empty array.
     * @return array Menu objects.
    *///istart

    wie ich erwähnte, diese WP Installation ist gehackt
    https://de.forums.wordpress.org/topic/htaccess-wird-standig-falsch-erneuert?replies=20#post-545491

    Lösungen dazu schrieb ich ziemlich weit oben
    suche nach Malware in nav-menu.php und du wirst sehr oft fündig.

    Thread-Starter mumbomedia

    (@mumbomedia)

    Aber ich habe vorm Hochladen von WordPress die deutsche Version direkt von wordpress.org heruntergeladen und das System über das WP-Backend erneut neu installiert. Demnach ist der Hack doch wohl in der zip-Datei die man von wordpress.org herunterlädt.

    Thread-Starter mumbomedia

    (@mumbomedia)

    Zur Sicherheit lade ich mir gleich nochmal die aktuelle deutsche Version von WordPress runter und prüfe ob da auch der Code drin ist.

    Thread-Starter mumbomedia

    (@mumbomedia)

    Spitze!!!
    Habe die Datei, die ich auf meinem Arbeitsrechner habe auf diesen Code überprüft. Dort ist er nicht drin.
    Dann werde ich nochmal unseren Hoster bitten, auf dem Server einen Malware-Check zu machen. Denn wenn meine Dateien den Code nicht beinhalten, dann muss die Datei doch auf dem Server geändert worden sein.

    ja weil diese Datei doch nur ein Teil des Hacks ist

    Thread-Starter mumbomedia

    (@mumbomedia)

    Nervig ist der Fehler allemal.
    Nur was bezweckt man damit.
    Das der Server aufgrund von Weiterleitungsschleifen abraucht?!

    Thread-Starter mumbomedia

    (@mumbomedia)

    Habe die Dateien alle abgeglichen.
    Nur diese Datei war unterschiedlich.

    Weitere Änderungen konnte ich nicht feststellen.
    Bleib abzuwarten, ob unser Hoster etwas findet.

    Danke für die guten Tipps mit der nav-menu.php.

    Ich hatte gestern das gleiche Problem. Mit der neusten WP-Version. Auch da war diese von dir beschriebene gehackte drin.

    Nachdem ich sie durch das Original ersetzt hatte lief alles wieder richtig.

    Strange.

    Oder wir haben den gleichen Hoster…… 🙂

    Thread-Starter mumbomedia

    (@mumbomedia)

    Hy fk59,

    freut mich dass ich dir helfen konnte.
    Noch ein Tipp, schau doch mal nach, ob bei dir evtl. Scripte sind, die preg-Funktionen nutzen. Bei mir war es ein altes FCKeditor-Skript das gehackt wurde. Dort wurde eine Schwachstelle ausgenutzt. stand etwas in der Art
    preg_replace(Muster\e,““,$_POST[‚xyz‘]) drin.
    Näheres findest du z.B. in diesem Youtube-Video https://youtu.be/iuqv-2DC1g8 (französisch) oder http://blog.benny-baumann.de/?p=332.
    Im Prinzip nutzt der Angreifer darüber die Möglichkeit aus, mittels preg_replace ein eval auszuführen, dass er i.d.R. base64-kodiert in der Post-Variablen übergibt.
    Betroffen sind quasi alle Hoster, da diese i.d.R. eval erlauben um z.B. Backups durch den Kunden durchführen zu lassen, wenn dieser an der Webseite etwas ändern will.
    Ab PHP 5.5 ist der Modifier veraltet und wir zum Glück mit Version 7.0.0 komplett entfernt.
    Evtl. kann man diesen Modifier auch verbieten. Kannst du deinen Hoster ja mal darauf ansprechen.

Ansicht von 12 Antworten - 16 bis 27 (von insgesamt 27)
  • Das Thema „.htaccess wird ständig falsch erneuert“ ist für neue Antworten geschlossen.