Contactez notre service support sur WordPress au 06 44 66 00 98 : assistance, dépannage et maintenance "made in France". Contactez une agence WordPress experte - Français
Définitions WordPress
Retrouvez tous les termes qui définissent l'univers du CMS Open Source WordPress
Injection d’Objet PHP Non Authentifié (POI) : qu’est-ce que c’est ?
L’Injection d’Objet PHP Non Authentifié (POI) est une vulnérabilité de sécurité qui affecte les applications web développées en PHP, notamment les sites WordPress. Elle se produit lorsque des données non fiables fournies par l’utilisateur sont désérialisées, permettant ainsi à un attaquant d’injecter des objets PHP malveillants dans le système. Cette faille de sécurité peut être exploitée pour exécuter du code arbitraire, voler des données sensibles ou perturber le fonctionnement du site.
Comment fonctionne l’injection d’objet PHP ?
Le concept de l’injection d’objet PHP repose sur le processus de sérialisation et de désérialisation en PHP. La sérialisation est la conversion d’un objet PHP en une chaîne de caractères, tandis que la désérialisation est l’opération inverse, transformant une chaîne en un objet PHP. Le problème survient lorsque la fonction unserialize() traite des données provenant d’une source non fiable. Cela permet à un attaquant d’injecter des objets malveillants qui seront désérialisés et exécutés par le serveur PHP.
Quels sont les risques d’une injection d’objet PHP sur un site WordPress ?
Les conséquences d’une injection d’objet PHP non authentifié peuvent être désastreuses pour un site WordPress :
Exécution de code arbitraire : L’attaquant peut injecter du code malveillant qui sera exécuté sur le serveur.
Déni de service (DoS) : L’exploitation de la vulnérabilité peut entraîner des perturbations ou l’arrêt complet du site.
Vol de données : Des informations sensibles peuvent être exfiltrées, compromettant la sécurité du site et des utilisateurs.
Élévation de privilèges : Un attaquant pourrait obtenir des privilèges administratifs, lui donnant un accès complet au site.
De nombreux plugins et thèmes WordPress qui utilisent des objets PHP et la désérialisation sans mesures de sécurité adéquates peuvent être vulnérables à cette attaque. Il est essentiel de maintenir son site et ses extensions à jour pour minimiser les risques de vulnérabilité.
Comment un attaquant exploite-t-il une faille POI ?
Un attaquant peut exploiter une injection d’objet PHP en trouvant un point d’entrée où l’application utilise la fonction unserialize() sur des données provenant d’une source non fiable. Par exemple, si un plugin WordPress utilise unserialize() sur des données transmises via un formulaire ou un cookie, l’attaquant peut fournir des données spécialement conçues pour manipuler le comportement de l’application.
Quelles fonctions PHP sont particulièrement à risque ?
Les fonctions qui posent le plus de risques en matière de POI incluent :
unserialize() : C’est la principale fonction exploitée pour les attaques POI.
Méthodes magiques comme __wakeup() et __destruct() : Ces méthodes peuvent être utilisées par un attaquant pour exécuter du code lors de la désérialisation d’un objet.
Comment se protéger contre les injections d’objet PHP sur un site WordPress ?
Voici quelques bonnes pratiques pour protéger votre site WordPress contre les POI :
Évitez d’utiliser unserialize() sur des données non fiables : N’utilisez jamais la fonction unserialize() sur des données provenant d’utilisateurs ou d’autres sources non sûres.
Mettre à jour régulièrement votre installation WordPress, ainsi que les thèmes et plugins, pour corriger les vulnérabilités connues.
Utiliser des plugins de sécurité comme Wordfence ou Sucuri qui peuvent détecter et bloquer les attaques POI.
Valider et filtrer toutes les entrées utilisateur : Assurez-vous que toutes les données fournies par les utilisateurs sont correctement validées avant d’être utilisées.
Limiter les autorisations : Limitez les privilèges d’accès des utilisateurs et des plugins à ce qui est strictement nécessaire.
Quels sont les signes d’une attaque d’injection d’objet PHP ?
Les signes d’une attaque POI peuvent inclure :
Des comportements anormaux ou des messages d’erreur inhabituels sur votre site WordPress.
Une augmentation soudaine de l’utilisation des ressources du serveur.
Des fichiers ou des modifications non autorisées dans votre installation WordPress.
Thierry Pigot est consultant WordPress, formateur et fondateur de WP Assistance ainsi que CEO de WeAreWP, deux agences spécialisées dans la performance, la maintenance et la sécurité des sites WordPress. Fort de plus de 20 ans d’expérience dans le développement web et le SEO, il accompagne entreprises, indépendants et agences dans la création, l’optimisation et la sécurisation de leur écosystème digital. Passionné par l’open source, il est un acteur actif de la communauté WordPress (meetups, WordCamps, formations) et partage régulièrement ses tests, retours d’expérience et bonnes pratiques sur les évolutions de WordPress, la performance web et l’intelligence artificielle appliquée au développement. Domaines d’expertise : développement et performance WordPress, sécurité et maintenance web, SEO technique et Core Web Vitals, intelligence artificielle et automatisation du développement, formation et accompagnement des équipes non-tech. En savoir plus : Profil LinkedIn | WeAreWP, agence WordPress | Événements WordPress
Gérer le consentement aux cookies
Nous utilisons des cookies pour optimiser notre site web et notre service.
Fonctionnel Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
L’accès ou le stockage technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’internaute.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’utilisateurs afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web à des fins de marketing similaires.