Journal d'investigation en ligne et d'information‑hacking
par bluetouff

Bygmalion : les clés sont sur le paillasson

Hier, un internaute nous faisait remarquer une curiosité sur l'un des sites web réalisés par Bygmalion, il s'agissait à coup sûr d'un serveur de test. Une curiosité, le mot est faible pour qualifier l'inimaginable. Il s'agit d'un site d'un salon professionnel qui était destiné à manipuler une masse conséquente de données personnelles puisque ce genre de site est principalement destiné à l'inscription des participants et des visiteurs.

Hier, un internaute nous faisait remarquer une curiosité sur l'un des sites web réalisés par Bygmalion, il s'agissait à coup sûr d'un serveur de test. Une curiosité, le mot est faible pour qualifier l'inimaginable. Il s'agit d'un site d'un salon professionnel qui était destiné à manipuler une masse conséquente de données personnelles puisque ce genre de site est principalement destiné à l'inscription des participants et des visiteurs.

Quand on réalise ce type de site web, nous l'avons dit et répété, on évite de faire appel à un développeur inexpérimenté que l'on facture probablement au prix fort au client. D'ailleurs on évite tout simplement de s'adresser à une agence de communication. Est-ce que vous iriez acheter votre pain chez le garagiste vous ? Malheureusement, cette pratique, est comme nous allons le voir assez courante.

Hébergé sur un sous domaine de Bygmalion.net, l'application web révélait dans son code source une expression régulière visant à vérifier les adresses emails des personnes souhaitant s'inscrire à l'événement. Jusque là, rien d'anormal, la "sanitization" est une bonne pratique. ce qui l'est beaucoup moins en revanche, c'est l'utilisation d'expressions régulières d'un autre temps qui piquent les yeux. Les développeurs auront tout de suite compris que la bonne pratique aurait été d'utiliser un :

filter_var

... à la place de cette horreur :

On sent tout de suite qu'il y a quelque chose qui ne tourne pas rond. Mais le plus grave n'est pas là. C'est quand on examine les 5 premières lignes qu'on se dit que non... ce n'est pas possible que ceci ait été codé par un développeur qualifié. Car en dur dans le code, on découvre une fonction mysql_connect qui révèle, en clair, l'adresse du serveur de base de données, l'identifiant et le mot de passe du serveur destiné à collecter les données entrées par les visiteurs. Tout ça dans le code d'une page html, sans la moindre volonté de dissimuler quoi que ce soit.

C'est exactement comme si vous partiez en vacances en laissant les clés non pas sous le paillasson, mais sur le paillasson.

Mais la rigolade ne s'arrête pas là. Des internautes se demandant d'où peut bien provenir ce code d'une autre planète, ont en quelques recherches, trouvé d'où il provenait.

Tenez vous bien...

Ce code a été initialement soumis sur Stackoverflow, un site web communautaire d'entraide pour développeurs. Ce code est d'ailleurs corrigé par une réponse d'un contributeur un peu en dessous qui explique bien que le langage PHP a une fonction dédiée à la validation et le nettoyage du code.

Mais visiblement, le développeur oeuvrant pour Bygmalion s'est arrêté au code défectueux et n'a pas pris soin de lire la correction, et encore moins d'apprendre à développer. Ce code est tout simplement un copier collé d'une énormité. Outre le fait que l'on se demande si cette affreuse chose a été facturée au client final, on a tout de suite envie de lui demander "combien", juste histoire de voir si les grilles tarifaires pratiquées pour l'UMP sont comparables.

Voyons maintenant le bon côté des choses : au final, on ne peut que se satisfaire que Bygmalion ait pu facturer à l'UMP des meetings imaginaires, car on peut légitimement se demander ce qu'il serait advenu des données personnelles des participants à ces meetings si ce genre de code avait servi à leur inscription.

Petit rappel à toutes fins utiles, ce n'est pas parce que les clés sont sur le paillasson, que vous êtes invités à pénétrer. Toute tentative de connexion à cette base de données relèverait de l'infraction pénale qualifiant l'intrusion et le maintien frauduleux dans un système de traitement automatisé de données.

0 Commentaires
Une info, un document ? Contactez-nous de façon sécurisée