Webmaster vos dossiers et fichiers peuvent vous nuire …

 

Hello Hello à tous !

 

Nous revoilà pour une petite quinzaine de minutes, car je vous le promets l'article que j'écris ne sera pas long !

De plus, il sera simple à assimiler !

En quoi des dossiers et des fichiers ça peut faire mal ?

 

Et bien certains Webmasters, peu ou pas du tout rigoureux.
Qui ne sont pas formé à la sécurité et qui décide de simplifier leurs codes, en utilisant des fonctions systèmes ...
C'est là que je veux en venir ... l'appel de fonction système doit être faite avec "précaution".

Contrôlez toujours ce que vous exécutez ...

 

Et ce, surtout lorsque vous le faite dans des processus automatisés.

 

Aussi je vais prendre un contexte relativement simple :

 

Imaginez un Webmaster, qui créé à chaque inscription d'un utilisateur, un fichier portant le même nom que celui-ci ...

 

Je décide donc de créer un compte avec ce nom d'utilisateur
(qui contient du code arbitraire) :

 

toto;echo -e "\033[1;34mtoto\033[0m"

Le code arbitraire echo -e "\033[1;34mtoto\033[0m", permet d'écrire "toto" en bleu.

Le système va donc générer un fichier du même nom ...

Capture

Admettons désormais que ce même webmaster .... dispose d'un script qui récupère la taille et le nom des fichiers (toujours en appel système)

Voici donc un script quelconque en guise d'exemple pour illustrer cette pratique peu rigoureuse.
Ecrit en PHP, mais ça peut être un script bash, python ..
bref c'est juste pour la démonstration.

<?php
$folder = 'utilisateur/';
if ($handle = opendir('utilisateur/')) {
    while (false !== ($file = $folder . readdir($handle)))
        if ($file != "." && $file != ".." && is_file($file)) 
            system("du $file");
    closedir($handle);
}
?>

 

 

La simple exécution du code ci-dessus va entraîner l’exécution du code arbitraire ...

 

 

Capture

On voit donc apparaître le fameux toto en bleu !

J'indique que cette faille existe, j'invite donc les Webmaster à contrôler leurs scripts "maison"

Contrôlez donc via des REGEX ou des fonctions de sécurisation tel que HTMLEntities, Addslashes, escapeshellarg, ... les données qui pourrait potentiellement se retourner contre vous...

Je dédie cet article à mon ami Sylt, qui indirectement m'a inspiré cet article ;)

Partagez ce contenu

Laisser une réponse

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