Vous êtes sur le site public du Cert-IST
Sécurisation des applications PHP

Date :22 Juin 2005

Publication: Article

Le langage PHP est sans doute l'un des plus utilisés pour développer des sites Web. De très nombreuses d'applications toutes faites (par exemple des forums de discussion, des applications de suivi des anomalies, etc…) ou de composants réutilisables sont disponibles en PHP, ce qui rend aussi ce langage très attractif pour les nouvelles applications.

Cependant ce langage n'est pas sans dangers et les développeurs doivent être très prudents pour éviter les vulnérabilités dans les applications PHP. Il existe un site Web français qui liste les vulnérabilités des applications PHP : www.phpsecure.info Une simple visite sur ce site suffit à se convaincre de la multitude des applications Web disponibles en PHP, mais aussi de la multitude des vulnérabilités qui les impactent.

Une analyse rapide de ce site permet d'établir que les vulnérabilités les plus répandues concernant PHP sont :

  • Le cross-site scripting (ce type de vulnérabilité a été présenté dans le bulletin en août 2001).

  • Les vulnérabilités de type "SQL injection" (ce type de vulnérabilité a été présenté dans le bulletin en février 2002).

  • Les vulnérabilités "include" (un article du présent bulletin présente en détail ce type de vulnérabilité).

D'autres types de vulnérabilités existent, mais il s'agit alors essentiellement d'une mauvaise utilisation de certaines fonctions dangereuses comme "system()", "eval()","popen()", etc…

En conclusion, la sécurité des applications PHP peut être renforcée en activant le "safe mode" de PHP. Attention cependant, si son utilisation est largement conseillée, cette mesure ne constitue pas une protection universelle et définitive. On se reportera sur le sujet à l'article "PHP : Les limites du "Safe Mode" du numéro 9 du magazine MISC (il n'existe pas à notre connaissance de version électronique de ce document).

Pour plus d'information