> Tech > Attention aux variables non initialisées

Attention aux variables non initialisées

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

 Par souci d’efficacité, PHP ne vérifie pas si les variables ont été initialisées avant leur utilisation. Or, quand des programmeurs oublient ou négligent d’initialiser des variables, on peut s’attendre à des « conséquences imprévues ». Normalement, les variables non initialisées ne menacent pas la sécurité, même

Attention aux variables non initialisées

si elles peuvent entraîner une défaillance de l’application.

Cependant, les variables initialisées sont très dangereuses dans un cas particulier : l’option register_ globals de PHP. Ce paramètre contrôle si les variables peuvent ou non, être définies directement à partir des arguments queryString inclus dans l’URL. La valeur par défaut de register_globals est Off, qui empêche l’assignation URL des variables.

Mais, si elle est sur On, le premier utilisateur venu peut manipuler directement des variables scripts en incluant des assignations sur l’URL. Ainsi, si votre script utilise la variable authentication- Passed pour indiquer que l’utilisateur a été authentifié, un mauvais plaisant pourrait simplement ajouter la chaîne « authentication Passed=1 » à un URL, contournant ainsi purement et simplement votre code d’authentification.

La parade évidente contre un tel abus est de s’assurer que register_ globals conserve sa valeur Off par défaut. Pour plus d’exemples des vulnérabilités concernant register_ globals, voir php.net/register_globals

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010