[SuperU] – Lorsqu’il est possible de schroumpher le code source et les identifiants de la base de données

 

Coucou les amis,

 

Comme souvent, lorsque je n'ai pas de gros contenu à apporter ...
Je recherche des actualités dont je suis le héros (ou pas) qui sont bien sympathiques !
Aussi, si vous êtes des clients réguliers de Super-U vous n'aurez pas manqué le super Jeux des schroumphs ... qui est d'ailleurs terminé ...

 

 

Je ne sais pas vous, mais moi j'aime bien ce genre de jeux ... car je sais que souvent il est possible de tricher ... et que lorsqu'il est possible de contourner un système, j'ai de la matière première pour alimenter ce blog !

Google, encore et toujours ...

Tout commença par une petite recherche sur Google un dimanche après-midi ...

Beaucoup de gens souhaiteraient voir leurs sites référencés en premier résultat dans Google  ...
Car il faut bien se l'avouer... ça donne de la visibilité ...
Et que la visibilité, lorsque l'on est bien référencé... et bien ça amène beaucoup de monde !
Sauf que le référencement malheureusement ça se construit ... et parfois il vaudrait mieux ne pas du tout être référencé ...
Surtout lorsque l'on n'est pas sur de la sécurité de son site ...

Une recherche

Pour revenir à cette petite recherche, je suis tombé des liens provenant de "lesschtroumpfschezu.magasins-u.com"
Qui permettaient de télécharger des pdfs ...

Jusque-là, rien de bien fou ... sauf que ... voici un lien ...

 

http://lesschtroumpfschezu.magasins-u.com/fdl.php?name=TGUgU2NodHJvdW1wZiBkw6l0ZWN0aXZl)&f=L2h0ZG9jcy9hc3NldHMvaW1hZ2VzL21vcmUvamV1eC9kbC0xLnBkZg==

Dans ce lien on remarque 2 variables, "name" et "f".
On constate également que ces 2 variables sont valorisé par un contenu en base64

Aaaah le bon base64 ... je ne le répéterais jamais assez ...

Le base64 c'est mal, vous saisissez?

Cacher du contenu derrière quelques choses que l'on peut facilement "déchiffrer" (si l'on peut parler de chiffrement) ...

C'est comme protéger vos lingots d'or derrière un drap avec un écriteau :
"s'il vous plaît, ne regardez pas dessous  !"

Alors bon ... vous êtes curieux ?
ça tombe bien, moi aussi !

 

Décoder du base64

Je vous propose donc de regarder de plus près, à quoi correspond ce base64 (https://www.base64decode.org/)

name = "Le Schtroumpf détective"

f = "/htdocs/assets/images/more/jeux/dl-1.pdf"

Je vois se dessiner un magnifique sourire sur votre visage ... à moins peut-être, que vous ne soyez Mr Super U ... auquel cas, vous serez profondément embarrassé et serez plutôt à froncer vos gros sourcils en direction de votre stagiaire ...

 

 

Alors oui c'est un chemin (qui de plus est "absolu"), et oui ... lorsque l'on altère(modifie) le contenu de cette variable, pour y mettre le chemin d'un autre fichier ... fichiers de logs ... fichiers de connexion ...  on accède bien au fichier que l'on souhaite ...

 

 

 

Un hacker mal intentionné, pourrait donc fouiller tranquillement le serveur du site "lesschtroumpfschezu.magasins-u.com", pour jouer de mauvais tours !

 

 

Une histoire de fichier !

Et tiens, justement lorsqu'on parle de mauvais tour, on peut imaginer la possibilité de récupérer les identifiants de la base de données ...
Pourquoi faire ? Et bien pour tricher (du moins toujours en se mettant dans la peau d'un vilain pirate) !

Non ?!? Siiiii !

Allons voir si c'est vraiment possible ... parce que bon je ne sais pas vous, mais moi lorsque je m'inscris quelque part, j'aime m'assurer que mes données ne soient pas accessibles à tout le monde ...

En consultant le code source de fichier en fichier ... on obtient de fil en aiguille le chemin vers le fichier suprême qui contiendra les variables de connexion de la base !

 

Bingo !!
On accède bien aux identifiants de la base de données !
Aussi, il y a la possibilité, si vous avez participé à ce concours, que des pirates informatiques aient pu altérer le contenu de la base de données afin de se donner plus de chance pour gagner !

 

Se protéger contre ça

 

Contre les tricheurs, vous ne pourrez malheureusement pas vous protéger.
Cependant si vous êtes un Webmaster, mettez-vous en tête que le base64 ne vous protégera que des personnes qui ne maîtrisent pas l'informatique.
Je vous recommande plutôt de stocker le chemin des fichiers dans votre base de données, et d'y accéder via des id.

 

Ainsi avec une url du genre :

http://monsite.php?telecharger_fichier=1

vous récupéreriez votre fichier "chemin vers toto.pdf"
D'autant que vous auriez la possibilité d'étoffer tout ça avec une gestion de droit d'accès ...

Et ça ... c'est schrouphement plus sexy !

 

 

Conclusion

J'espère que cet article vous aura montré une fois de plus que nous ne sommes sécurisé nul part, même sur des sites officiels, et que pour les développeurs / webmaster vous aurez compris de votre côté qu'il est inutile de travailler avec du base64 de cette manière.
Le base64 ne devrait servir qu'a gérer du contenu binaire, lire une image, une vidéo par exemple.

Partagez ce contenu

6 comments

  • Hehe excellent ! Par contre comment il serait possible de tricher même en ayant accès à la bdd ? Je veux dire, il y a un fichier qui stock le nom du gagnant et il suffit de le modifier ? Moi j’ai toujours cru que ces jeux, c’était de l’arnaque » et qu’il n’y avait pas vraiment de tirage au sort

    • La base de donnée, c’est « l’information », donc potentiellement tous les participants, les lots, les scores …
      Donc en effet, si tu accèdes à ses données, tu peux biaiser le système :/
      Mais pour Super U ou d’autres grandes boites, non ça n’est pas de l’arnaque.
      L’arnaque vient souvent des trucs pas ou peu connu.

  • En cherchant bien, on pourrait même avoir accés au serveur en SSH ou FTP …

    http://lesschtroumpfschezu.magasins-u.com/fdl.php?name=dGVzdC50eHQ=&f=L2V0Yy9wYXNzd2Q=

    Il faut qu’ils corrigent ça d’urgence !!

  • …sans remuer le couteau dans la plaie…
    si on modifie :
    header(« Content-disposition: attachment; filename=\ » ».$pdfname. »\ » »);
    par
    header(« Content-disposition: attachment; filename=\htdocs\assets\images\more\jeux\ » ».$pdfname. »\ » »);

    Es-ce que cette modification de fdl.php serait suffisante ? ou cela reste dangereux ?

    • Non cela ne joue que sur le nom du fichier (lorsque tu télécharge).
      D’autant que même si c’était le cas, il suffirait à un pirate d’envoyer des noms de fichier avec un chemin relatif :
      Ex : ../../../../../etc/passwd
      => /htdocs/assets/images/more/jeux/../../../../../etc/passwd
      resultat => /etc/passwd

      PS : sous linux on envoie les path ainsi « / »
      « \ » c’est plutôt du Windows

Répondre à Tony Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *