Ankündigung

Einklappen
Keine Ankündigung bisher.

500er Fehler bei Wordpress-Kuddelmuddel

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 500er Fehler bei Wordpress-Kuddelmuddel

    Da ein Servererror beim Laden eines PHP-Scriptes ausgegeben wurde, poste ich das mal hier. Ggf. bitte verschieben.

    Folgendes passierte:
    Ich habe auf meinem (managed) Server drei Domains mit Wordpress-Anwendungen. Gestern zeigte eine der Domains beim Aufrufen der Startseite und der Admin-Anmeldeseite einen Fehler 500. DIe beiden anderen Domains liefen normal weiter. Alle drei Anwendungen werden automatisch bei neuen WP-Versionen aktualisiert.

    Im Errorlog war nichts zu finden, weshalb ich mich an den Support gewandt habe. Die kamen darauf, dass eine der Dateien im Adminbereich fehlerhaft war. In der ersten Zeile stand kein <?php, sondern ein <6php - das Fragezeichen also zur 6 mutiert.

    Zu bemerken ist, dass da niemand was mit FTP hochgeladen hat, sondern das allenfalls von WP selbst so fabriziert werden konnte.

    Ich hätte nun erwartet, dass der PHP-Interpreter mir eine ordentliche Fehlermeldung ausgegeben hätte vom Stil "Ey du doof, kuck mal in Datei sowieso.php die erste Zeile an", was mir einige Stunden Arbeit erspart hätte.

    Die Frage lautet also: Wieso meldet sich das Ding mit einem nichtssagenden 500er Error?

    Betroffen war die Datei
    wp-admin/includes/class-wp-list-table.php

    und so sahen die ersten Zeilen aus (Datei war ansi-codiert):
    PHP-Code:
    <6php
    /**— * Admiüistratión API: ’P_List_Ùable cl„ss
     *
     À @package WordPress
     * @subpackage List_Table
     * @since 3.1.0
     */
    /**
     * Base class for displaying a list of items in an ajaxified HTML table.
     *
     * @since 3.1.0
     * @access private
     */ 
    Ich hab willkührlich 5 andere PHP-Dateien angeschaut - alle sind UTF-8-codiert. Nur diese eine nicht.

    Alle anderen Dateien, die ich mir angeschaut habe, sind utf8-codiert.
    [PHP]if ($var != 0) {
    $var = 0;
    }[/PHP]

  • #2
    Du bist wahrscheinlich Opfer einer Attacke, XSS oder Backdoor-Trojaner geworden.

    Habe auf die Schnelle diesen Link gefunden. Ist ja nicht das erste mal das Software Angreifern die Tür offen hält.

    Kommentar


    • #3
      Ich hätte nun erwartet, dass der PHP-Interpreter mir eine ordentliche Fehlermeldung ausgegeben hätte vom Stil "Ey du doof, kuck mal in Datei sowieso.php die erste Zeile an", was mir einige Stunden Arbeit erspart hätte.

      Die Frage lautet also: Wieso meldet sich das Ding mit einem nichtssagenden 500er Error?
      das steht dann meistens im error log oder so.

      Kommentar


      • #4
        Danke protestix, ich hatte schon versucht, über den Dateinamen etwas zu Googeln, was aber nicht erfolgreich. Dort heißt es, dass der Bug ab 4.7.2 erledigt ist. DIe Anwendung läuft aber auf 4.8.4 und gleich auf 4.9.1 - Vielleicht war es dann ein fehlgeschlagener Angriff. Ich glaube nicht, dass jemand ein <6php da reinschmuggeln will.
        Und warum es nun keinen Syntax-Error beim require gab, das interessiert mich immer noch.
        [PHP]if ($var != 0) {
        $var = 0;
        }[/PHP]

        Kommentar

        Lädt...
        X