Protégez l'accès à vos ressources

Cet article a été publié depuis plus de 6 mois, cela signifie que le contenu peut ne plus être d'actualité.

Ce weekend, je baladais sur le site d'une agence musicale qui offre à ses clients des prestations audiovisuelles. La société offre notamment un accès à un large catalogue de musique à condition d'être un professionel du domaine de l'audiovisuel. Sauf qu'en réalité, avec un peu de débrouille, l'ensemble du catalogue est librement accessible.

Effectivement, lorsque l'on navigue sur le site en question, un lecteur audio permet d'écouter les titres disponibles. En analysant les trames réseaux, il est facile d'accéder à l'adresse du fichier qui est écouté :

Rien que via cette URL on peut récupérer le morceau complet au format MP3 encodé en 128 kbps. En analysant l'adresse du fichier, il est aisé de reconnaitre le schéma adopté http://site.com/musicfiles/[format]/[id-musique].[format].

En recherchant les différents morceaux, les identifiants des musiques sont facilement récupérables car ils apparaissent dans la barre d'adresse du navigateur.

Cela aurait pu s'arrêter ici, mais en lisant les mentions légales du site, on apprend qu'il est possible de télécharger les différents morceaux en format "MP3 (320 kbps)", "AIFF" ou "WAV" (non compressé). Et oui c'est l'ensemble du catalogue dans tous les formats disponibles (et même haute définition) qui sont librement accessibles.

Il aurait pourtant été facile de protéger l'accès aux ressources en utilisant un petit script PHP comme celui ci-dessous :

ob_clean();

header('Content-Type: audio/mp3');
header('Content-Disposition: filename="fichier.mp3"');
flush();

readfile('chemin/vers/le/fichier.mp3');

Lorsque vous concevez un site, pensez bien à la sécurité des données de ce dernier et pas seulement celles qui sont présentes en base de données.

PS: un autre élément également inquiétant, les en-têtes renvoyées par le serveur Apache et qui indique que la version de PHP utilisée est la 5.2.17. Soit une version qui n'est plus maintenue depuis le 6 janvier 2011 !