Un p'tit coup de main pour un grand nettoyage !

Le
Christophe Gallaire
Bonsoir à tous,

Depuis plusieurs jours l'un des sites que j'administre a été "exploiter" par
injection de code dans tous les fichiers en php :

http://forum.dotclear.net/viewtopic.php?pid 7063#p207063

Je me suis en train de retirer cette satanée ligne de code injectée dans chacun
des fichiers en php ! La poisse !

Et je me demandais s'il ne serait pas possible de faire une recherche globale de
cette ligne dans tous les fichiers (avec la commande find + grep + xargs) et
d'ensuite virer cette ligne par une ligne de commande genre Monsieur Propre !

Quelqu'un a-t-il une idée ?

@+

Christophe

--
Christophe Gallaire

Carnet de route : http://www.road2mayotte.org

Linux On The Root : http://ubunteros.tuxfamily.org/

Mutt, le Mail Agent à l'extrême configurabilité ! 100% libre ! 100% Linux !
"Les clèbs (mutts) n'ont pas de punaises (bugs) mais des puces !"

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stephane Bortzmeyer
Le #9687971
On Sun, Apr 13, 2008 at 08:28:08PM +0200,
Christophe Gallaire a message of 38 lines which said:

Je me suis en train de retirer cette satanée ligne de code injectée
dans chacun des fichiers en php !



Ah bon, les fichiers PHP de l'application étaient modifiables par
l'utilisateur www-data ? Ne serait-ce pas plus prudent d'euthanasier
l'administrateur système tout de suite ?

La poisse !



La malchance n'y est pour rien. La plupart des applications PHP sont
écrites avec les pieds par des gens ignorants du B A BA de la sécurité
informatique. Pour tout arranger, elles sont installées n'importe
comment. Les piratages sont la règle, pas l'exception.

Et je me demandais s'il ne serait pas possible de faire une
recherche globale de cette ligne dans tous les fichiers (avec la
commande find + grep + xargs) et d'ensuite virer cette ligne par une
ligne de commande genre Monsieur Propre !



[Non testé]

perl -i.bak -p -e "s/<?php echo '<iframe src="http://cdpuvbhfzz.com"//g"
$(find . -name '*.php')

-i : fait une copie préalable avec l'extension .bak

-p : par défaut, affiche la ligne, donc la recopie dans le fichier
modifié

-e : exécute la commande Perl suivante

s/...// : remplace le texte incriminé par rien du tout



Autre solution, mieux et plus simple :

find / -name '*.php' | xargs rm -f

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Christophe Gallaire
Le #9687961
Bonsoir,

Oui je sais que FF3 le bloque par défaut ! C'est la poisse ! Retirer cette
satanée ligne à la main c'est interminable !

Oui je sais pour le StopBadWare aussi... Grrrrrr ! Je ne sais pas trop comment
rechercher un long motif et le supprimer dans une série de fichiers, un
répertoire...

J'ai lu que la commande sed pouvait le faire mais je ne comprends pas trop
comment elle tourne la jolie...

Quelqu'un a-t-il une idée ?

@+

Christophe

Omnisilver a dit dans un souffle :
Christophe Gallaire a écrit :
Bonsoir à tous,

Depuis plusieurs jours l'un des sites que j'administre a été "exploiter" par
injection de code dans tous les fichiers en php :

http://forum.dotclear.net/viewtopic.php?pid 7063#p207063

Je me suis en train de retirer cette satanée ligne de code injectée dans chacun
des fichiers en php ! La poisse !

Et je me demandais s'il ne serait pas possible de faire une recherche globale de
cette ligne dans tous les fichiers (avec la commande find + grep + xargs) et
d'ensuite virer cette ligne par une ligne de commande genre Monsieur Propre !

Quelqu'un a-t-il une idée ?

@+

Christophe


Hello,

Aucune idée, mais juste pour info, StopBadware le considère comme un
site procédant à des attaques de badwares , ce qui signifie qu'il est
automatiquement bloqué dans FF 3

Mais peut-être est-ce toi qui a demandé la review
?

Omni qui vient de migrer à Hardy



--
ubuntu-fr mailing list

https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr



--
Christophe Gallaire

Carnet de route : http://www.road2mayotte.org

Linux On The Root : http://ubunteros.tuxfamily.org/

Mutt, le Mail Agent à l'extrême configurabilité ! 100% libre ! 100% Linux !
"Les clèbs (mutts) n'ont pas de punaises (bugs) mais des puces !"

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Christophe Gallaire
Le #9687951
Bonsoir,

Stephane Bortzmeyer a dit dans un souffle :
On Sun, Apr 13, 2008 at 08:28:08PM +0200,
Christophe Gallaire a message of 38 lines which said:

Je me suis en train de retirer cette satanée ligne de code injectée
dans chacun des fichiers en php !



Ah bon, les fichiers PHP de l'application étaient modifiables par
l'utilisateur www-data ? Ne serait-ce pas plus prudent d'euthanasier
l'administrateur système tout de suite ?



Je voudrais bien...

La poisse !



La malchance n'y est pour rien. La plupart des applications PHP sont
écrites avec les pieds par des gens ignorants du B A BA de la sécurité
informatique. Pour tout arranger, elles sont installées n'importe
comment. Les piratages sont la règle, pas l'exception.



Je veux bien te croire...

Et je me demandais s'il ne serait pas possible de faire une
recherche globale de cette ligne dans tous les fichiers (avec la
commande find + grep + xargs) et d'ensuite virer cette ligne par une
ligne de commande genre Monsieur Propre !



[Non testé]

perl -i.bak -p -e "s/<?php echo '<iframe src="http://cdpuvbhfzz.com"//g"
$(find . -name '*.php')

-i : fait une copie préalable avec l'extension .bak

-p : par défaut, affiche la ligne, donc la recopie dans le fichier
modifié

-e : exécute la commande Perl suivante

s/...// : remplace le texte incriminé par rien du tout



Marche pô !


Autre solution, mieux et plus simple :

find / -name '*.php' | xargs rm -f



N'as-tu pas oublié quelque chose ? Parce que là ça efface tout bonnement tous
les fichiers avec pour extension de fichier .php !

@+

Christophe
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact




--
Christophe Gallaire

Carnet de route : http://www.road2mayotte.org

Linux On The Root : http://ubunteros.tuxfamily.org/

Mutt, le Mail Agent à l'extrême configurabilité ! 100% libre ! 100% Linux !
"Les clèbs (mutts) n'ont pas de punaises (bugs) mais des puces !"

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Stephane Bortzmeyer
Le #9687941
On Sun, Apr 13, 2008 at 09:28:06PM +0200,
Christophe Gallaire a message of 85 lines which said:

>perl -i.bak -p -e "s/<?php echo '<iframe src="http://cdpuvbhfzz.com"//g"
>
> $(find . -name '*.php')


...
Marche pô !



Réponse sans intérêt. Quel est le message d'erreur ? Avez-vous vérifié
l'URL indiqué dans le <iframe> ?

>Autre solution, mieux et plus simple :
>
>find / -name '*.php' | xargs rm -f

N'as-tu pas oublié quelque chose ? Parce que là ça efface tout
bonnement tous les fichiers avec pour extension de fichier .php !



Oui, c'était le but :-)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Stephane Bortzmeyer
Le #9687931
On Sun, Apr 13, 2008 at 09:02:28PM +0200,
Stephane Bortzmeyer a message of 51 lines which said:

perl -i.bak -p -e "s/<?php echo '<iframe src="http://cdpuvbhfzz.com"//g"
$(find . -name '*.php')



Ah, il faudrait échapper les barres obliques aussi. Deuxième essai :

perl -i.bak -p -e "s#<?php echo '<iframe src="http://cdpuvbhfzz.com"##g"
$(find . -name '*.php')

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Damien POBEL
Le #9687921
Salut,


Christophe Gallaire a écrit :
Et je me demandais s'il ne serait pas possible de faire une recherche globale de
cette ligne dans tous les fichiers (avec la commande find + grep + xargs) et
d'ensuite virer cette ligne par une ligne de commande genre Monsieur Propre !

Quelqu'un a-t-il une idée ?


quelque chose du genre
find . -name *.php -exec sed -i "s/<?php echo '<iframe
src="http://cdpuvbhfzz.com/dl/adv598.php".*$//g" {} ;

(sur une ligne) devrait te permettre de résoudre ton problème rapidement.


A+
--
Damien POBEL
http://pwet.fr/blog

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
mouss
Le #9687911
Christophe Gallaire wrote:
Bonsoir,

Oui je sais que FF3 le bloque par défaut ! C'est la poisse ! Retirer
cette
satanée ligne à la main c'est interminable !

Oui je sais pour le StopBadWare aussi... Grrrrrr ! Je ne sais pas trop
comment
rechercher un long motif et le supprimer dans une série de fichiers, un
répertoire...

J'ai lu que la commande sed pouvait le faire mais je ne comprends pas
trop
comment elle tourne la jolie...



si c'est pour virer la ligne:

- tu fais un backup en cas de regrets ou pour souvenir
- et puis
for f in `find /chemin/vers/repertoire/ -type f -name *.php`; do
sed -e '/cdpuvbhfzz.com/d' $f > $f.tmp && mv $f.tmp $f
done


si d'autres extensions (genre .inc et autres joyeusetés) sont infectés,
faut faire la même chose, à condition qu'on sache que c'est des fichiers
texte (et non binaires).

enfin, pour l'avenir:
- chown -R root /var/www
- Répeter avec tous les répertoires où il y a des fichiers web.
- ensuite, il faudra faire le chown inverse uniquement là où c'est
necessaire (typiquement pour les répertoires des
sessions/cache/upload/...).

ça ne suffit pas, mais c'est mieux que rien...




--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
mouss
Le #9687901
mouss wrote:
Christophe Gallaire wrote:
Bonsoir,

Oui je sais que FF3 le bloque par défaut ! C'est la poisse ! Retirer
cette
satanée ligne à la main c'est interminable !

Oui je sais pour le StopBadWare aussi... Grrrrrr ! Je ne sais pas
trop comment
rechercher un long motif et le supprimer dans une série de fichiers, un
répertoire...

J'ai lu que la commande sed pouvait le faire mais je ne comprends pas
trop
comment elle tourne la jolie...



si c'est pour virer la ligne:

- tu fais un backup en cas de regrets ou pour souvenir
- et puis
for f in `find /chemin/vers/repertoire/ -type f -name *.php`; do



... -name "*.php" ...

avec la ponctuation, c'est mieux...
sed -e '/cdpuvbhfzz.com/d' $f > $f.tmp && mv $f.tmp $f
done


si d'autres extensions (genre .inc et autres joyeusetés) sont
infectés, faut faire la même chose, à condition qu'on sache que c'est
des fichiers texte (et non binaires).

enfin, pour l'avenir:
- chown -R root /var/www
- Répeter avec tous les répertoires où il y a des fichiers web.
- ensuite, il faudra faire le chown inverse uniquement là où c'est
necessaire (typiquement pour les répertoires des
sessions/cache/upload/...).

ça ne suffit pas, mais c'est mieux que rien...







--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Christophe Gallaire
Le #9687891
Bonsoir,

Cette ligne ne marche pas non plus. Le motif est trop complexe. Je n'arrive pas
à poster le code, alors le voilà en image :

http://www.clg-montaigne-goussainville.ac-versailles.fr/images/imagesblogue/code.png

@+

XoF

Tourneur Henry-Nicolas a dit dans un souffle :

Le dimanche 13 avril 2008 à 21:13 +0200, Christophe Gallaire a écrit :
Bonsoir,



Bonsoir,
Oui je sais que FF3 le bloque par défaut ! C'est la poisse ! Retirer cette
satanée ligne à la main c'est interminable !

Oui je sais pour le StopBadWare aussi... Grrrrrr ! Je ne sais pas trop comment
rechercher un long motif et le supprimer dans une série de fichiers, un
répertoire...

J'ai lu que la commande sed pouvait le faire mais je ne comprends pas trop
comment elle tourne la jolie...

Quelqu'un a-t-il une idée ?



find . -name "*.php" -exec sed -i 's/TA_LIGNE//' {} ;




--
Christophe Gallaire

Carnet de route : http://www.road2mayotte.org

Linux On The Root : http://ubunteros.tuxfamily.org/

Mutt, le Mail Agent à l'extrême configurabilité ! 100% libre ! 100% Linux !
"Les clèbs (mutts) n'ont pas de punaises (bugs) mais des puces !"

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Tourneur Henry-Nicolas
Le #9687871
Le dimanche 13 avril 2008 à 21:13 +0200, Christophe Gallaire a écrit :
Bonsoir,



Bonsoir,
Oui je sais que FF3 le bloque par défaut ! C'est la poisse ! Retirer cette
satanée ligne à la main c'est interminable !

Oui je sais pour le StopBadWare aussi... Grrrrrr ! Je ne sais pas trop comment
rechercher un long motif et le supprimer dans une série de fichiers, un
répertoire...

J'ai lu que la commande sed pouvait le faire mais je ne comprends pas trop
comment elle tourne la jolie...

Quelqu'un a-t-il une idée ?



find . -name "*.php" -exec sed -i 's/TA_LIGNE//' {} ;

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme