l'asile.fr


Répertoire Upload d'un forum sur un sous-domaine

Bonjour à ceux qui tombent sur cette page, et tous les autres : allez vous faire foutre !

Bon la semaine dernière le forum d'Ouverture Facile (en Invision Power Board) a été hacké en utilisant une faille de sécurité qui a permis à un con russe d'uploader le backdoor r57shell dans le repertoire d'upload où sont stockés les fichiers joints (en chmod 777 forcément). Ce truc se présente sous la forme d'un fichier index.php où le pirate peut se logger pour faire des trucs qui font bander des pirates mais dont l'interêt m'échappe.

J'ai mis à jour mon forum vers la version 2.1.6 qui d'après IPB ne présente POUR L'INSTANT aucune faille, mais pour combien de temps...

Pour anticiper un peu les emmerdes j'ai crée un sous-domaine au domaine qui héberge le forum. J'ai désactivé la gestion du php, de l'asp, etc... pour ce sous-domaine. De toute façon le répertoire d'upload ne contient que des images qui sont appelées et uploadées par le php du forum.

j'ai mis les chmod de ce répertoire à 777 et changé l'url et le chemin dans les options d'IPB :

[url]http://www.ouverturefacile.com/forums/uploads:/48a1: -> :48a1:url : http://sousdomaine.ouverturefacile.com/membres[/url]

/home/httpd/vhosts/ouverturefacile.com/httpdocs/forums/uploads -> /home/httpd/vhosts/ouverturefacile.com/subdomains/nom du sous-domaine/httpdocs/membres

Les avatars et les miniatures contenus dans le sous-domaine s'affichent bien dans le forum mais l'upload et la visualisation des images en cliquant sur les miniatures ne marchent pas...

J'ai signalé ça au service technique d'IPB et voici leur réponse :

Hello,

It's possible that the user PHP is running as does not have permission to write to the subdomain that you have set up. Could you have your hosting provider check to see if there are any such restrictions that would be preventing PHP from writing to that directory?

Thank you,

William McGann
Support Technician
Invision Power Services, Inc.


J'ai contacté l'hébergeur et j'attend la réponse...

En attendant (et si le l'hébergeur répond à coté de la plaque), est-ce que l'un d'entre vous aurait une solution à ce problème ?

Merci à ceux qui ont pris la peine de lire jusqu'à cette ligne de remerciement sans sauter de lignes.


Dernière modification le 09/06/06 à 02:26 par Swan
vendredi
09 juin 2006 à 01:56
 
 

Swan a écrit
Bonjour à ceux qui tombent sur cette page, et tous les autres : allez vous faire foutre !

Merci à ceux qui ont pris la peine de lire jusqu'à cette ligne de remerciement sans sauter de lignes.


Pas de quoi. Malheureusement pour toi, j'ai rien compris à ton post et je ne peux donc t'aider, mais ça aurait été avec plaisir.


vendredi
09 juin 2006 à 08:46
 
 

leur réponse me semble claire : vérifie que ton service web (apache ?) peut ecrire dans ton dossier d'upload.

d'après ce que j'ai compris si tu essaye d'ecrire dans : /home/httpd/vhosts/ouverturefacile.com/subdomains/nom du sous-domaine/httpdocs/membres

Donne nous le résultat de la commande :
ls -la /home/httpd/vhosts/ouverturefacile.com/subdomains/nom du sous-domaine/httpdocs/

Cette commande va donner la liste des droits attribués aux sous-dossiers et aux fichiers contenus dans ton répertoire.

Profites-en aussi pour nous dire sous quelle identité est lancé ton démon(normalement pour apache l'user est : "www" et l'uid : "80")


vendredi
09 juin 2006 à 08:56
 
 

Tout d'abord merci de ta réponse,
désolé de débarquer dans le monde de la gestion d'un serveur, mais j'apprend qu'au fur et à mesure de mes besoins alors je ce que je n'ai jamais fait je ne sais pas faire.

Ce que tu m'as dit me semble interessant mais alors faut m'expliquer comment faire, où, avec quoi, dans quel sens, etc...

Je suppose que ce sont des commandes ssh à utiliser dans telnet (par exemple) après avoir configuré ce truc pour gérer mon serveur, non ?


vendredi
09 juin 2006 à 13:02
 
 

Swan a écrit
Je suppose que ce sont des commandes ssh à utiliser dans telnet (par exemple)


HA MES YEUX §§

Telnet : c'est le m4l. Ne pas utiliser. Jamais. Never.

Ssh : permet de se connecter à distance de manière sécurisée.

Après pour connaître le nom du compte et du groupe propriétaire des fichiers : ls -l. Mais des clients Ftp dignes de ce nom (comme Filezilla) sont capable de donner aussi l'information.

Ceci étant le problème avec les scripts Php et les droits c'est qu'ils peuvent générer des fichiers temporaires (des images miniatures par exemple) impossibles à supprimer parce que les droits ne sont pas ou mal gérés dans les scripts. C'est un des critères qui fait que l'on choisi tel ou tel CMS par exemple.

Sinon le truc bien, c'est de ne pas utiliser de kikololerie de ce genre. Les gens veulent des miniatures et des fichiers en haute résolution ? Hé bien ça fait deux fichiers distincts et pas un truc à bidouiller en Php ou autre. Vu le coût de revient des disques c'est facilement envisageable. Et moins de Php. Et moins d'emmerdes.


vendredi
09 juin 2006 à 13:10
 
 

Ellendhel a écrit
Sinon le truc bien, c'est de ne pas utiliser de kikololerie de ce genre. Les gens veulent des miniatures et des fichiers en haute résolution ? Hé bien ça fait deux fichiers distincts et pas un truc à bidouiller en Php ou autre. Vu le coût de revient des disques c'est facilement envisageable. Et moins de Php. Et moins d'emmerdes.


Non il y a bel et bien 2 fichiers distincts. Un fichier blablabla.jpg et un fichier blablabla_thumb.jpg, lorsque l'on clique sur la miniature ça fait index.php?act=Attach&type=post&id="un numéro".

sinon j'utilise filezila, comment on s'y prend dans filezilla ?

edit : j'ai affiché le propriétaire/groupe dans filezilla, ça me donne "monpseudo" psacln
J'ai utilisé le même compte ftp que pour le domaine, au cas où....


Dernière modification le 09/06/06 à 13:39 par Swan
vendredi
09 juin 2006 à 13:31
 
 

Swan a écrit


Non il y a bel et bien 2 fichiers distincts. Un fichier blablabla.jpg et un fichier blablabla_thumb.jpg, lorsque l'on clique sur la miniature ça fait index.php?act=Attach&type=post&id="un numéro".

sinon j'utilise filezila, comment on s'y prend dans filezilla ?


Affichage => Vue de la liste distante => Tu coche permission et propietaire/groupe. ensuite tu nous donne le détail.


Prendre un enfant par la main
En regardant tout au bout du chemin
Prendre un enfant pour le sien.


vendredi
09 juin 2006 à 13:38
 
 

j'ai affiché le propriétaire/groupe dans filezilla, ça me donne "monpseudo" psacln
J'ai utilisé le même compte ftp que pour le domaine, au cas où....

Pour les permissions du repertoire d'upload : drwxrwxrwx

cependant les permissions de httpdocs sont : drwxr-x--- je les ai mis à drwxrwxrwx mais ça ne change rien à mon problème.


Dernière modification le 09/06/06 à 13:48 par Swan
vendredi
09 juin 2006 à 13:41
 
 

ok, avec les permission en rwxrwxrwx 777 ce n'est pas un problème de droit car tout le monde a le droit d'ecrire.

Est-tu bien sûr que c'est dans se répertoire que tu essayes d'ecrire ?
Est-ce que la variable upload_tmp_dir du fichier de configuration php.ini a été modifiée ?
Si oui, a tu* bien les droits d'ecrire dans ce répertoire ?
Si non, est-ce que tu* as les droits dans le répertoire temporaire par défaut ? ( /tmp ou /var/tmp selon les distribution)

*par "tu" je veux dire : "ton serveur HTML"


vendredi
09 juin 2006 à 13:49
 
 

Kane a écrit
ok, avec les permission en rwxrwxrwx 777 ce n'est pas un problème de droit car tout le monde a le droit d'ecrire.


D'ailleurs hormis pour des tests il ne faut pas donner les droits en écriture à tout le monde. Seul l'utilisateur et éventuellement le groupe sont nécessaires (et encore).

Sinon avec un bout de faille dans un script Php on peut se faire pourrir un site.

Kane a écrit
Est-tu bien sûr que c'est dans se répertoire que tu essayes d'ecrire ?
Est-ce que la variable upload_tmp_dir du fichier de configuration php.ini a été modifiée ?
Si oui, a tu* bien les droits d'ecrire dans ce répertoire ?
Si non, est-ce que tu* as les droits dans le répertoire temporaire par défaut ? ( /tmp ou /var/tmp selon les distribution)

*par "tu" je veux dire : "ton serveur HTML"


Pour avoir ces informations pertinentes soit tu utilises la fonction phpinfo() dans un fichier .php seul, soit tu demandes à ton hebergeur.


vendredi
09 juin 2006 à 18:47
 
 

Ellendhel > toi aussi tu as remarqué que j'ai quelque problèmes en pédagogie ? :-D


Dernière modification le 09/06/06 à 18:52 par Kane
vendredi
09 juin 2006 à 18:50
 
 

Ok merci pour vos conseils, voilà les options php :
url : http://www.ouverturefacile.com/info.php
Ca peut venir de quel réglage ? Je suis un peu perdu dans tous ces trucs techniques.


vendredi
09 juin 2006 à 23:11
 
 

On m'a confirmé qu'il était effectivement, par défaut, impossible d'écrire dans un sous-domaine ou d'un sous-domaine vers un autre sous domaine.

Il semblerait qu'il faille éditer le fichier httpd.conf pour régler le problème, bon j'ai réussi à m'initier un peu au ssh, j'ai trouvé ce httpd.conf (dans /etc/httpd/conf), mais la personne qui m'a donné cette information ne se rappele plus ce qu'il faut modifier exactement dans ce fichier... J'ai cherché mais j'ai un peu peur de tenter des choses et de foutre tout en l'air.


Mais sinon il y a peut être un autre moyen d'arriver à ce que je veux faire sans utiliser de sous domaines, c'est à dire que le repertoire d'upload du forum ne gère pas le php, on peut peut être exclure un repertoire précis et dire qu'on ne veut pas que du code php soit reconnu dans ce repertoire, non ? ça serait bien plus simple...


Dernière modification le 10/06/06 à 13:31 par Swan
samedi
10 juin 2006 à 13:21
 
 

Swan a écrit
j'ai trouvé ce httpd.conf (dans /etc/httpd/conf), mais la personne qui m'a donné cette information ne se rappele plus ce qu'il faut modifier exactement dans ce fichier... J'ai cherché mais j'ai un peu peur de tenter des choses et de foutre tout en l'air.


Sachant que même lorsqu'on connaît bien le fichier de configuration d'Apache il est toujours possible de faire des trucs qui partent en sucette (testé avec une étudiante Vendredi dernier).

Point un : lire la documentation (disponible sur le site d'Apache, à voir selon la version que tu utilises).

Point deux : poster les réglages que tu souhaites faire (état avant / état prévu) on pourra peut être te dire si ça marchera ou non.

Point trois : modifier le fichier et relancer Apache (commande apachectl restart sous Apache 1.3, possible que ça marche pareil pour la version 2.0).

Point quatre : versement sur mon compte aux îles Caïman, as usual


samedi
10 juin 2006 à 21:53
 
 

Bon bah finalement on m'a conseillé un autre truc, je suis vraiment con de ne pas y avoir pensé avant, mais je ne pensais pas qu'on pouvait faire autant de choses avec un .htaccess, on ma conseillé de ne pas utiliser de sous-domaine et de mettre des AddType text/plain .php, AddType text/plain .php3, AddType text/plain .asp, etc... dans le .htaccess du fichier d'upload et de le laisser sur le domaine, ça permet de traiter ces extension comme du texte dans le cadre de ce dossier. Ca devrait empêcher de lancer pas mal de backdoors faits en php, après il faut que j'arrive à trouver un moyen de vérifier si il n'y a pas de rootkits qui auraient pu passer pendant l'intrusion (houlà ça fait film de science fiction), alors je ne sais pas si c'est un truc que je peux lancer à distance, si faut demander à l'hébergeur, si faut vérifier à la main les fichiers, mais avec des gants. Mais ça me parait être un truc que je vais galerer à faire.

J'aurais du faire un BTS informatique, ça m'aurait plus aidé que faire des études de graphisme.

Enfin bon, ça m'interesse quand même de savoir comment faire avec cette histoire d'écriture sur un sous-domaine, au moins par curiosité, mais bon je vais plutôt faire avec un .htaccess (à moins que ce soit facilement contournable ?), je vais moins avoir à cafouiller.

Oh ils ont quand même une vie bien chiante ces lamers qui se prennent la tête à trouver des moyens d'emmerder le monde, il faudrait qu'ils se trouvent une copine. La tension sexuelle, tout ça, un boulot chiant, oh et y'a aussi les ados qui lisent des tutoriaux en russe pour crasher des forums (merci les traducteurs automatiques), ils devraient d'abord trouver des potes, puis allez jouer avec eux, s'amuser, faire des trucs de jeunes ou pas... Enfin autre chose que de jouer aux hackers de cinéma en emmerdant des gens qui veulent simplement jouer ou essayer de créer des trucs.

En tous cas merci pour vos conseils, je sais bien que c'est pas évident d'expliquer à un nioubiz des trucs techniques qui vous paraissent naturels, oh ça va venir je suis quand même le cul devant l'ordi tous les jours.


Dernière modification le 11/06/06 à 01:01 par Swan
dimanche
11 juin 2006 à 00:57
 
 

Swan a écrit
bon je vais plutôt faire avec un .htaccess (à moins que ce soit facilement contournable ?)


Ça a autant d'efficacité que de modifier le httpd.conf d'Apache (en fait c'est des directives supplémentaires mais dans des fichiers particuliers).

Swan a écrit
ces lamers qui se prennent la tête à trouver des moyens d'emmerder le monde, il faudrait qu'ils se trouvent une copine.


Tss, tss. Une balle dans la nuque et la facture à la famille c'est tout ce qu'ils méritent.


dimanche
11 juin 2006 à 08:42
 
 


Répondre au sujet

Vous devez être identifié pour participer à ce topic.