> Tech > Attention aux variables non initialisées

Attention aux variables non initialisées

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

 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

Microsoft 365 Tenant Resilience

Microsoft 365 Tenant Resilience

Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Tech