PHP-Nuke c'est mal !
Par Stéphane Bonhomme le mercredi, février 11 2004, 10:06 - Techno Web - Lien permanent
Par ce titre trivial je voudrais attirer votre attention sur le fait que les scripts "clés en mains" permettant de faire beaucoup de choses sans que vous ayez à fournir le moindre effort de réflexion et/ou parce que vous ne connaissez pas du tout le langage de programmation utilisé (ici PHP) peuvent avoir des effets secondaires assez douloureux. Dans le cas présent, le site peut être "piraté", tout simplement.
Jugez plutôt : l'article suivant est une traduction d'une alerte de sécurité publiée sur le site Secunia dont la lecture est souvent riche d'enseignements et dont le contenu est soumis à vérification puisqu'en bas de page on peut lire : " Secunia collects, validates, and verifies all vulnerability reports issued by security research groups, vendors, and others ". ce qui a le mérite d'être clair.
NB : ce n'est qu'une traduction réalisée avec l'outil linguistique de google et modifiée par mes soins (my taylor isn't rich ! :))
Janek Vind a rapporté trois vulnérabilités dans PHP-Nuke, permettant aux personnes malveillantes de réaliser des attaques de type Cross-Site-Scripting et SQL injection.
- les paramètres "titre" et "fname" ne sont pas utilisés correctement dans "/modules/News/friend.php ", qui peut être exploité pour inclure le script et le HTML.
Cette vulnérabilité a été rapportée dans la version 7.10.- dans les modules de "Reviews" et de "News", il est possible d'inclure du code dans le paramètre de "titre" en encodant certains caractères en hexadécimal.
Cette vulnérabilité a été rapportée dans la version 7.10.- le paramètre de "p_msg" dans "mainfile.php" est décodé (base64) avant qu'il soit employé dans une requête de SQL, qui contourne efficacement le magic_quotes_gpc. Ceci peut être exploité pour inclure les caractères malveillants, permettant l' injection de requêtes SQL.
Un simple exploit a été réalisé, qui peut extraire le mot de passe administratif exploitant la faille 3 si la base de données utilisée est MySQL 4.
Cette vulnérabilité a été rapportée dans les versions 6 et 7.10.
Tout ceci pour dire que, lorsqu'on veut créer un site, la précipitation et la facilité ne sont jamais les bonnes solutions (à moins que vous ayez les moyens de faire réaliser le site par un professionnel, et même là il peut y avoir des surprises).
Un futur webmaster souhaitant utiliser PHP se doit donc :
- de maîtriser HTML et CSS, c'est la base quand même. Pour cette raison, des sites tels que selfhtml et Openweb sont donc nécessaires. Il faudrait même lire cette page aussi puisqu'elle regroupe les traductions françaises disponibles des documents W3C.
- de posséder au moins quelques bases de javascript (histoire d'éviter de butter sur des problèmes simples généralement liés aux formulaires)
- de savoir qu'il existe une documentation française de PHP disponible en ligne ou téléchargeable dans plusieurs langues et plusieurs formats.
- de savoir qu'il existe une documentation de MySQL, s'il souhaite l'utiliser bien sûr. Cette documentation française existe en ligne et est disponible au téléchargement.
Bien sûr ce n'est pas tout. L'intérêt d'un site web réside dans son accessibilité : il n'y a pas qu'internet explorer. Un site doit être visible dans de bonnes conditions quel que soit le navigateur utilisé par l'internaute, et là on rentre dans le domaine de l'accessibilité : une lecture approfondie Openweb s'impose, et la lecture de quelques blogs dits " normatifs " tels que Standblog ou encore Dreams4net peut être utile.
Vous l'aurez compris, réaliser un site web utilisant PHP ne se fait pas en 3 coups de cuillères à pot. Réaliser un site web en utilisant des scripts qui font tout (ou presque) à votre place n'est pas la bonne solution , et en prime ce n'est même pas fashion comme le dirait Geoffrey de Digital Fashion.
Bref, RTFM.
Commentaires
C'est amusant, j'avais évoqué cette possibilité dans un de mes billets en janvier dernier... Je traitais le problème avec un peu d'humour, mais le fond est en tout point identique.
http://code03.com/blog/2004/01/19/174-ParanoiaQuiSait
Tiens c'est vrai, je ne m'en rappelais plus (en plus j'y avais répondu). Comme quoi les grands esprits se rencontrent... ou on en a tous les deux marre de voir les mêmes bêtises sur les forums, chans...
Ce qui m'a décidé à écrire ce billet est en grande partie due de la succession effrénée de nouvelles versions de PHP-Nuke corrigeant soit disant des problèmes de sécurité, mais également apportant son lot de nouvelles faiblesses.... bref, tout est dans la "daConclusion pour la fin" de ton billet :)
Grands esprits, peut-être (moi oui, toi... ça reste à voir ;o) arf). Marre de voir tout le temps les mêmes trucs sur les forums et chans ? Oui, tout aussi possible, surtout que j'ai passé 2 années de mon temps à aider et modérer sur PHPscripts pour s'en prendre quand même plein la gueule.
Je ne suis pas pour les CMS, c'est en général de méga grosse usine à gaz bourrée de bugs et de failles, souvent corrigées trop tard. C'est bien pratique pour Bibi qui sait pas coder mais qui veut quand meme si top site en PHP de la mort qui tue... Mais bon, ca reste du bof bof très moyen avec un je-m'en-foutisme absolu des normes et standarts, sans compter les trous de sécu.
Le daMot de la fin : PHP-nuke et autres gros CMS > c'est maaaaaaaaal :o)
Tous les CMS ne sont pas si mal faits, faut pas generaliser surtout a partir de PHP-nuke qui est quand meme bien connu pour se trous de securite tous plus gros les uns que les autres... Sinon c'est vrai que generalement les CMS sont souvent des uzines a gaz. Cela s'explique souvent que leur createur veulent trop en faire avec des scripts qui savent tout faire et finalement, ne font rien de bien...
"Cela s'explique souvent que leur createur veulent trop en faire avec des scripts qui savent tout faire et finalement, ne font rien de bien..."
Exactement et cela vient nuire sur le plan "user-friendly". On se retrouve face à une armée de fonctionnalités en tout genre dont on ne sait plus quoi faire... Ce qui est relativement dommage, puisqu'à la base, ce que l'on recherche n'est jamais qu'une simple plateforme de diffusion de contenu, et non pas une foule de module en tout genre dont l'utilité laisse parfois à désirer. Cela étant dit, ce type de débat peux également s'étendre sur bon nombre d'application, comme par exemple les forums et le fameux PHPBB... :o)
Ecoutez-les parler les deux utilisateurs de dotclear là :pp \
\ \ \bon sinon bien sur que je suis de votre avis meme s'il ne faut pas tout diaboliser non plus car moi j'ai ete amene a faire du php grace au feu phpforge qui etant un cms plutot de base m'a permis de mettre les mains dedans et vlan grace a phpdebutant puis phpapps (j'allais pas sur phpscript c'est de la mauvaise graine qui traine là-bas !!) je sais me debrouiller en php :)
sur ce @+ Minitareck