881 Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Mahlzeit,

ich habe derzeit das Problem, dass mein Webspace stark kontaminiert ist - jemand hat in hunderte PHP-Dateien eigenen Code eingeschleust. Ja, ich muss da einiges in Sachen Sicherheit nachbessern, allerdings muss ich besagten Code auch erstmal überall loswerden, bei über 600 Fällen eher ungern manuell. ;)

Habe mir jetzt das Programm UltraEdit installiert und plane, damit besagten Codeteil automatisch zu ersetzen. Jedoch bekomme ich den entsprechenden Suchterm nicht hin, da mich die regulären Ausdrücke etwas irritieren. Nach folgendem möchte ich suchen:

<?php
--beliebige Anzahl Zeichen und Zeilenumbrüche--
GLOBAL $wehaveitagain;
--beliebige Anzahl Zeichen und Zeilenumbrüche, auf jeden Fall mit ? um nicht auch den zweiten, richtigen PHP-Block auszuwählen--
?>

Kann mir jemand sagen, wie der entsprechende Ausdruck aussehen müsste? Die Trennung zwischen Zeichen und Newlines ist es, die mich scheitern lässt.

Schonmal vielen Dank im Vorraus!

P.S.: Kennt jemand diesen Schadcode und hat eine Idee, welchen Weg er auf meinen Webspace genommen haben könnte? Wäre schonmal ein erster Ansatz.

1 Antwort

0 Punkte
Beantwortet von ennok Experte (1.2k Punkte)
/.+?(<\?php.+?GLOBAL \$wehaveitagain;.+?\?>)/si

wobei ich nicht sicher bin, was mit "--beliebige Anzahl Zeichen und Zeilenumbrüche, auf jeden Fall mit ? um nicht auch den zweiten, richtigen PHP-Block auszuwählen--" wirklich gemeint ist.
...