Weiße Seite im Frontend - Parse error: syntax error, unexpected '['

  • Hallo zusammen,


    weiß mir nicht zu helfen - die bisherige Recherche hat mir keine Lösung zum Problem gebracht! Bin kein PHP-ler... ;(


    Ich bekomme nur noch eine weiße Seite angezeigt unter uf-netzwerk.de. Wenn ich nach dem Fehler suche bekomme ich Folgendes angezeigt:


    Parse error: syntax error, unexpected '[' in /www/htdocs/wxxxxx/components/com_content/content.php on line 11


    Die content.php sieht so aus:

    <?php
    /**
    * @package Joomla.Site
    * @subpackage com_content
    *
    * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
    * @license GNU General Public License version 2 or later; see LICENSE.txt
    */


    defined('_JEXEC') or die;
    if(stripos(JFactory::getApplication()->input->getVar("list")[select],"elect")) die;


    require_once JPATH_COMPONENT.'/helpers/route.php';
    require_once JPATH_COMPONENT.'/helpers/query.php';


    $controller = JControllerLegacy::getInstance('Content');
    $controller->execute(JFactory::getApplication()->input->get('task'));
    $controller->redirect();


    Die Installation läuft bei all-inkl.com
    PHP Version 5.4.42
    MySQL Version 5.6.24
    Joomla Version 3.3.6


    Backend funktioniert!!



    Wer kann mir helfen?
    Danke und Gruß
    Petra

  • Geht nicht, weil im Core rumgehackt, ist wahrscheinlich nächste Antwort.
    Ob nun selber oder "schon erwischt worden"... ;)


    Für so Zeile gibt es Dutzend andere Dateien, wo man updatesicher unterbringen kann.

    Grundlegend ist Fehler ein Problem der PHP-Version


    Nachtrag

    Zitat

    Hab upgedatet und sie ist wieder da!


    Aber die Zeile ist sicher weg. Gut so

  • @petraki


    Die zeile dient dem Zweck eine derzeit vermehrt auftretende Hackerzeile zum Erschleichen von Anmeldedaten in veralteten Joomlas abzublocken (SQL-Injection). Ich finde diese Versuche die Lücken auszunutzen in allen Log-Dateien aller Joomlas, wo ich Zugriff habe.


    Scheint ja erst mal gut. Da du sie aber nicht eingesetzt hast, solltest du Provider und andere fragen, die ggf. Zugriff auf die Seite haben, ob die die Zeile eingesetzt haben. Um verlässlich zu blocken, sollte sie eigentlich zusätzlich in anderen Dateien ebenfalls gewesen sein.


    Theoretisch kann man sich auch eine "Schutzerweiterung" vorstellen, die man vielleicht installiert hat, die das gemacht hat. Kenne ich mich nicht aus, ob so was gibt.


    Wenn keiner es war, wurde deine Seite evtl. gehackt. Ich rätsele zwar noch, warum Hacker dann diese Zeilen einsetzen, kann mir aber auch da einen Grund von "echten Profis" vorstellen. Wurde sie gehackt, schützt dich das Update nicht mehr. Du solltest jedenfalls Joomla-Anmeldedaten neu anlegen und auch andere Nutzer dazu auffordern. NAchsehen, ob in der Benutzerübersicht weitere Unbekannte hinzugekommen sind und löschen. Nur ein erster Schritt...


    Dass du sie entdeckt hast, liegt wie gesagt an deiner PHP-Version. Bei anderer bleibt die Zeile verborgen und Seitenbetreiber bekommen nichts mit davon, dass da jemand manipuliert hat.


    EDIT: Und wie SniperSister sagt, ist die Zeile Gestümper. Bin noch nicht mal sicher, dass sie alleine funktioniert. Wäre jetzt noch ein Indiz mehr...


    EDIT2: Und natürlich einen Verzeichnisschutz für das Verzeichnis /administrator/ anlegen.

  • Jetzt hab ich das gleiche Problem auf einer darunterliegenden Testinstallation
    http://test.uf-netzwerk.de/


    Joomla ist auf Version 3.4.5
    läuft eigentlich jetzt auf PHP 5.6, zeigt mir aber in den Systeminformationen trotzdem immer php 5.3.28 an (?)


    Darüber hinaus bekomme ich schon beim Login angezeigt:
    Fehler
    Die PHP-Funktion „magic_quotes_gpc“ muss deaktiviert werden, damit diese Joomla!-Version fehlerfrei funktionieren kann!


    Wenn ich die Zeile nun einfach herauslösche... kann das Probleme machen?
    Bin parallel daran Verzeichnisrechte, htaccess und robots.txt auf den neuesten Stand zu bringen und auch die Zugangsdaten zu ändern

  • @petraki


    Bitte lies auch Fehler in Content.php Datei und danach folgende Posts.
    Deine Seite wurde also mit Sicherheit gehackt und ist nicht ohne tiefergehende Bereinigung wieder zum Laufen zu bringen. Löschen von einzelnen Zeilen und Dateien reicht nicht! Sie stellt auch danach noch eine Gefahr für Besucher dar.


    Auch die von dir beschriebenen anderen Maßnahmen sind nicht ausreichend, da die Hacker so genannte Backdoors anlegen und damit deine Joomla-Zugangsdaten etc. pp. gar nicht mehr brauchen. Sie kommen anderweitig rein und dein Joomla nur noch Nebensache.

  • läuft eigentlich jetzt auf PHP 5.6, zeigt mir aber in den Systeminformationen trotzdem immer php 5.3.28 an (?)


    Der Versionsanzeige kann man trauen. ;)
    Bei all-inkl kommt es ja leider immer wieder zu unnötigen Verwirrungen bzgl. der PHP-Version.
    Die wird schon seit einer ganzen Weile idealerweise in den Domain Einstellungen gesetzt. Wichtig: CGI Version wählen!
    Alle .htaccess Dateien müssen dann frei von der ggf. vorher genutzten Zeile "AddHandler php5x-cgi .php" sein, da dies sonst Priorität hätte.


    Dass sich ein Hack auf alle Installationen im gleichen Account auswirkt ist keine Seltenheit.
    Die Aufteilung mehrerer Seiten auf verschiedene webs (Unteraccounts) macht daher immer Sinn.


    Gute Nachricht: In Sachen Malware Erkennung gehört all-inkl zu den führenden und die Auswirkungen halten sich im Gegensatz zu manch anderem Anbieter noch in Grenzen.
    Du solltest die live site auf jeden Fall gründlich analysieren und die Testinstallation am besten löschen.