Php et permissions contre injection iframe

Fermé
punishman - 6 oct. 2009 à 00:24
 punishman - 8 oct. 2009 à 21:11
Bonjour à tous!!
J'espère poster dans le bon forum.

Voila j'ai créé un petit site en PHP où les utilisateurs peuvent s'inscrire et ajouter des photos à leur profil.
J'ai mis mon site sur un RPS chez OVH. Avec Filezilla, je décide donc des droits sur mes fichiers php, dossiers etc.
Au bout de quelques semaines, je me suis rendu compte que j'etais victime d'une attaque par injection iframe. Mes index.php étaient modifiés avec une balise iframe src= blabla ajoutée qui balançait un beau cheval de troie au client.
J'ai restreint les permissions de fichiers, mais pour l'instant on ne peut plus ajouter d'images les permissions étant trop sévères...
questions:
Y a t-il une combinaison idéale de permissions pour les dossiers et fichiers? (pour les clients ajouter des images, et pour éviter les injections)
Faut-il juste modifier les droits sur mes index? (on sait que du code malicieux peut etre injecté dans des images...)
Est-il concevable dans un même script PHP de mettre les permissions "light", pour permettre au client de copier l'image, puis de remettre aussitot des permissions ne permettant rien... lol

Voila merci d'avoir lu ce poste, merci d'avance pour toute réponse.
A voir également:

9 réponses

je tente un petit up, si vous connaissez quelque chose pour contrer les attaques iframe...
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
6 oct. 2009 à 21:17
Bsr , j'ai eu le cas récemment du meme probleme similaire, (iframe) rajoutée sur des pages html.
LA dans l'immédiat je ne saurais te dire quel parade exacte utiliser.

J'attends des nouvelles de mon ami qui avait ce problème.
Deja controle total de ton pc avec un av à jour, rapport hitjackthis, cleaner, bref la routine histoire de voir si tu n'a pas ce truc sur ton pc.
Ensuite quel est ton editeur de page ?

Pour ce qui est des droits faut penser aussi a regarder le proprietaire du fichier (chown).
A ma connaissance ces droits ne se modifie pas avec FZ, enfin perso je les modifie avec putty.
0
Salut lewis34

Merci beaucoup pour ta réponse.
mon éditeur de page est notepadd ++ lol, très utile pour faire une recherche de chaine dans plusieurs fichiers.
Pour mon pc, je l'ai formaté lol histoire d'être sûr :)
je connais putty, cest un bon terminal sous windows!
Pour les droits, mon projet copie parfois des index.php dans de nouveaux dossiers. Je dois donc modifier les droits avec le script PHP. Peut être vais-je devoir gérer les droits totalement en PHP pour éviter qu'un bot modifie mes sources hors de mes scripts.
Délicate cette histoire d'iframe n'empeche.... si quelqu'un d'autre a une idée... une combinaison de droits... une procédure pour un script...Merci!!
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
6 oct. 2009 à 21:43
je te poste ce message depuis la maison, je n'ai plus le nom de l'infection en tete, je pourrais te la passer demain depuis le boulot, mais en tout etat de cause c'est un problème qui m'interesse car je n'ai pas encore trouvé l'origine.. ;-)

Je ne pense pas que le fait de copier un fichier, fasse apparaitre "comme par magie" ce truc.
Est tu le seul à gérer ce site et/ou est ce qu'il t'arrive de le faire d'un autre pc ?

De toute façons y'a pas de mystère, tout est logique dans l'informatique et encore plus en prog, si tu a ce code dans ta page c'est qu'a un moment ou un autre il a été écrit, manuellement ou automatiquement, mais il a été rajouté.

Je te demandais ton éditeur car parfois ,les codes générés automatiquement sont tellement mal fait ou alors contienne des codes qui peuvent etre detectés comme indésirable, et parfois meme se comporter comme des troyens, mais si tu utilise notepad, le code c'est toi qui le fait donc a priori c'est pas de ce coté qu'il faut chercher.
Autre piste les bannières et autres liens vers des annuaires ? en a tu ?

bref voici quelques pistes à explorer
@+
0
Oui je suis seul à gérer ce site.
Personne, humain ou robot, ne devrait pouvoir réussir à m'ajouter une balise iframe au debut de mes sources!
C'est un problème de permissions de fichiers, sûr, mais maintenant, les inscrits ne peuvent plus ajouter de photos à leur profil... si un administrateur de serveur passe par là... :)
Pour les liens, jai juste une ou deux adsense, donc rien de grave.
Merci beaucoup lewis pour tes réponses.
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
6 oct. 2009 à 22:04
Ca je te confirme , personne ne devrais pouvoir rajouter du code dans une page mais bon.. le fait est que parfois ça arrive.
permission de fichier ?? j'en suis pas sur, mais sait on jamais

Donc tu pense que pour toi le probleme viendrais des photos uploadées ?

est ce que tu les "retravaille" (imagecopyresampled par exemple) ou juste imagecopy.

En tout cas depuis que l'on m'a demandé pour ce problème, ce qui m'agace c'est que j'ai pas trouvé la solution idéale ET la cause.. lol;

a priori ces genre de bordel profite d'une faille de sécurité pour s'introduire sur des systeme "mal protége", donc voir du coté des .htaccess
0
non le problème ne vient pas des photos uploadées. mais je sais que l'on peut injecter du code malicieux dans un fichier .php puis que l'on l'uploade via un formulaire. Là il faut que ca soit bien codé derrière en PHP pour contrer celà!!
Mes index modifiés, depuis que j'ai modifié les permissions via filezilla, ce n'est plus arrivé. Mais il faut que je change celà sinon plus d'upload d'image!! (plus de permissions...)

Je pense que je vais revoir mes droits une nouvelle fois et on verra. (droits sévères sur les index.php, et plus light sur les dossiers pour pouvoir y copier les images)
Je fais de la redimension d'image donc oui j'utilise les fonctions citées.
La cause je ne sais pas... avec javascript on peut en faire des choses alors bon... et puis la personne malicieuse a enregistré le fichier sur mon serveur etc....pas mal l'enf...
@+
0

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

Posez votre question
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
6 oct. 2009 à 22:21
je file au dodo, regarde sur tes fichiers la derniere date de modif et compare avec tes logs ca peut donner une piste

si t'a besoin envoie un MP
bonne soirée
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 oct. 2009 à 00:17
Vas voir ce site il te donneras peut etre la soluce:

http://www.twiger.fr/showthread.php?t=327
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 oct. 2009 à 00:20
Car si tu autorise l'upload il faut etre sur que ce que tu recoit est propre

donc passes tous les champs du formulaire par le filtre de ces fonctions pour que personne ne puisse y mettre un code malveillant
0
Salut Alain_42 et merci pour ta réponse.

Oui pour l'upload d'images, je fais plein de tests (type mime,largeur, renommage en .jpg ou .png etc.)
Je pense que cela est suffisant...Quoique on n'est jamais assez sûr...
Je vais aller regarder ton lien qui semble parler des injections SQL, là oui il faut utiliser mysql real escape string je crois.
Mais je reprécise que ce sont mes fichiers index.php qui ont été modifiés, par un petit malin.donc n'importe quel fichier php aurait pu être modifié. Je vais donc revoir mes permissions sur mes fichiers PHP...
J'ai mis les permissions 505 sur les dossiers et 404 sur les fichiers. Mais avec 505, l'ajout de photo n'est plus autorisé. Si quelqu'un s'y connait en permissions rwx...
Merci à tous
0
punishman > punishman
7 oct. 2009 à 17:20
Un dernier petit up et puis fini...
Si quelqu'un s'y connait en admin de serveur et en permissions rwx, qu'il me conseille!!
Merci en tout cas à ceux qui m'ont répondu!
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 oct. 2009 à 19:24
Pour ne pas avoir de pb de permission tu fais creer le dossier dans lequel les photos vont etre telechargee par le script php lui meme comme ca php (apache) est proprietaire

if(!is_dir('ton_dossier')){

mk_dir('ton_dossier')
}

sinon pour les droits tu cherches Linux droits
0
c'est justement ce que je fais.
Si toto s'inscrit, un dossier toto/ est créé, et pour que personne n'accède à mon arborescence je copie un index.php dans le dossier toto/
et ce sont tous mes index.php qui ont été modifiés par attaque iframe!!!
index.php principal attaqué, toto/index.php attaqué, tototo/index.php de même...
mais bon je vais gérer ces droits en php...
Merci alain_42 pour ta rép.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 oct. 2009 à 01:36
Les index sont ceux attaque parce que ce sont ceux qui sont les plus courants

pourquoi ne proteges tu pas tes dossiers par un .htaccess

avec Deny For All

ca n'empechera pas php d'y bosser dedans mais ils seront inaccesibles depuis le web

et plus besoin des index>php dans chaque dossier

ensuite regardes pour les droits ceux qui interdisent l'execution
0
Salut alain_42

oui je vais fouiller du coté des htaccess, ca pourrait m'apporter quelques trucs pour protéger mes dossiers.

j'ai aussi revu mes droits. Mes index.php ne sont qu'en read pour tout le monde, et je vais m'informer pour empecher l'affichage de l'arborescence par un dossier qui n'a pas d'index avec les permissions.

Merci pour ta réponse.
0