{"id":2550,"date":"2026-06-17T23:00:00","date_gmt":"2026-06-17T23:00:00","guid":{"rendered":"https:\/\/smartcoding.com.au\/portes-derobees-cachees-dans-wordpress-comment-les-trouver-avant-quelles-ne-vous-trouvent\/"},"modified":"2026-06-17T23:00:00","modified_gmt":"2026-06-17T23:00:00","slug":"portes-derobees-cachees-dans-wordpress-comment-les-trouver-avant-quelles-ne-vous-trouvent","status":"publish","type":"post","link":"https:\/\/smartcoding.com.au\/fr\/portes-derobees-cachees-dans-wordpress-comment-les-trouver-avant-quelles-ne-vous-trouvent\/","title":{"rendered":"Portes d\u00e9rob\u00e9es cach\u00e9es dans WordPress : comment les trouver avant qu&rsquo;elles ne vous trouvent"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Une porte d\u00e9rob\u00e9e est un morceau de code qu&rsquo;un attaquant laisse derri\u00e8re lui pour pouvoir revenir plus tard, m\u00eame apr\u00e8s la fermeture du point d&rsquo;entr\u00e9e initial. La premi\u00e8re compromission, c&rsquo;est la porte. La porte d\u00e9rob\u00e9e, c&rsquo;est la deuxi\u00e8me cl\u00e9, cach\u00e9e quelque part sur votre site, pr\u00eate \u00e0 servir. Les portes d\u00e9rob\u00e9es de WordPress comptent parmi les artefacts les plus fr\u00e9quemment d\u00e9couverts lors des audits forensiques, et la plupart des propri\u00e9taires n&rsquo;y ont jamais pens\u00e9 comme \u00e0 une cat\u00e9gorie \u00e0 part.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cet article explique comment les portes d\u00e9rob\u00e9es sont install\u00e9es, o\u00f9 elles se cachent habituellement et comment les rep\u00e9rer sur votre propre site.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pourquoi les attaquants installent des portes d\u00e9rob\u00e9es<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">P\u00e9n\u00e9trer pour la premi\u00e8re fois dans un site WordPress demande des efforts : trouver une extension vuln\u00e9rable, l&rsquo;exploiter, naviguer dans le site. Une fois \u00e0 l&rsquo;int\u00e9rieur, les attaquants veulent s&rsquo;assurer de pouvoir revenir sans refaire tout ce travail. Une porte d\u00e9rob\u00e9e est une assurance contre la correction de la vuln\u00e9rabilit\u00e9 d&rsquo;origine.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est pourquoi se contenter de corriger le point d&rsquo;entr\u00e9e apr\u00e8s une compromission ne suffit pas. L&rsquo;attaquant est probablement toujours sur le serveur. Tant que vous n&rsquo;avez pas trouv\u00e9 et supprim\u00e9 la porte d\u00e9rob\u00e9e, chaque nettoyage reste temporaire.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Les formes classiques de porte d\u00e9rob\u00e9e WordPress<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les portes d\u00e9rob\u00e9es les plus courantes se r\u00e9sument \u00e0 un petit nombre de sch\u00e9mas reconnaissables.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>PHP obfusqu\u00e9.<\/strong> Un petit morceau de code, souvent de quelques lignes seulement, qui utilise eval combin\u00e9 \u00e0 base64_decode, gzinflate ou str_rot13 pour ex\u00e9cuter une charge envoy\u00e9e en param\u00e8tre. \u00c0 premi\u00e8re vue, le code ressemble \u00e0 du charabia, et c&rsquo;est pr\u00e9cis\u00e9ment le but. Les variantes incluent des sch\u00e9mas comme eval, assert avec une entr\u00e9e contr\u00f4l\u00e9e par l&rsquo;utilisateur, preg_replace avec le modificateur e d\u00e9sormais supprim\u00e9, et des appels directs \u00e0 shell_exec ou system avec des donn\u00e9es issues de $_GET, $_POST, $_REQUEST, $_COOKIE ou $_SERVER.<\/li>\n\n\n<li><strong>Web shells.<\/strong> Un fichier PHP d\u00e9di\u00e9 qui offre \u00e0 l&rsquo;attaquant un gestionnaire de fichiers ou un ex\u00e9cuteur de commandes via le web. Des noms comme c99shell, r57shell, WSO et FilesMan sont tristement c\u00e9l\u00e8bres. Une web shell est un petit panneau d&rsquo;administration install\u00e9 sur votre serveur que vous n&rsquo;y avez pas mis.<\/li>\n\n\n<li><strong>Comptes administrateur frauduleux.<\/strong> Un nouvel utilisateur dot\u00e9 du r\u00f4le d&rsquo;administrateur, cr\u00e9\u00e9 lors de la compromission initiale, souvent avec un nom d&rsquo;utilisateur un peu \u00e9trange ou une adresse e-mail sur un domaine que vous ne reconnaissez pas. L&rsquo;attaquant peut revenir \u00e0 tout moment en se connectant avec ce compte.<\/li>\n\n\n<li><strong>R\u00e9infection via cron.<\/strong> Une t\u00e2che planifi\u00e9e de WordPress qui recr\u00e9e les fichiers malveillants s&rsquo;ils sont supprim\u00e9s. M\u00eame si vous nettoyez les mauvais fichiers, le cron les remet discr\u00e8tement en place lors de sa prochaine ex\u00e9cution.<\/li>\n\n\n<li><strong>Fichiers du c\u0153ur, du th\u00e8me ou d&rsquo;une extension modifi\u00e9s.<\/strong> L&rsquo;attaquant modifie un fichier l\u00e9gitime pour y ins\u00e9rer un petit bloc de code malveillant. Le fichier fonctionne toujours comme pr\u00e9vu, mais il ex\u00e9cute aussi la charge de l&rsquo;attaquant lorsqu&rsquo;il est d\u00e9clench\u00e9.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">O\u00f9 elles se cachent<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les portes d\u00e9rob\u00e9es pr\u00e9f\u00e8rent les recoins les plus poussi\u00e9reux d&rsquo;une installation WordPress. Quelques cachettes courantes m\u00e9ritent d&rsquo;\u00eatre connues.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>L&rsquo;arborescence wp-content\/uploads.<\/strong> Le dossier des t\u00e9l\u00e9versements ne devrait contenir que des m\u00e9dias. Les fichiers PHP qui s&rsquo;y trouvent sont presque toujours suspects. Un audit r\u00e9cent sur le site d&rsquo;une agence de Sydney a explicitement pass\u00e9 ce dossier au crible et n&rsquo;y a trouv\u00e9 qu&rsquo;une poign\u00e9e de stubs anodins de durcissement de WordPress. Tout le reste m\u00e9rite une enqu\u00eate.<\/li>\n\n\n<li><strong>Des fichiers aux noms imitant le c\u0153ur.<\/strong> wp-loadx.php, wp-shell.php, wp-cron-extra.php, wp-log.php. Un nom qui correspond presque \u00e0 un vrai fichier WordPress est un choix de camouflage d\u00e9lib\u00e9r\u00e9.<\/li>\n\n\n<li><strong>Des images contenant du PHP.<\/strong> Un fichier portant l&rsquo;extension .jpg ou .png qui contient en r\u00e9alit\u00e9 du code PHP au d\u00e9but du fichier. Si quelque chose sur le serveur inclut ensuite ce fichier en tant que PHP, la charge s&rsquo;ex\u00e9cute. Rare, mais bien r\u00e9el.<\/li>\n\n\n<li><strong>\u00c0 l&rsquo;int\u00e9rieur de fichiers l\u00e9gitimes d&rsquo;extensions ou de th\u00e8mes.<\/strong> L&rsquo;attaquant ajoute un petit bloc au d\u00e9but ou \u00e0 la fin d&rsquo;un fichier existant. Le fichier fonctionne toujours, mais il ex\u00e9cute aussi la porte d\u00e9rob\u00e9e.<\/li>\n\n\n<li><strong>wp-config.php et ses variantes.<\/strong> Parfois via une directive auto_prepend_file qui inclut une charge malveillante avant chaque requ\u00eate. Parfois en injectant directement une constante ou une instruction include.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Comment rechercher des portes d\u00e9rob\u00e9es<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nul besoin d&rsquo;\u00eatre un professionnel de la s\u00e9curit\u00e9 pour effectuer des v\u00e9rifications utiles. Une extension de s\u00e9curit\u00e9 r\u00e9put\u00e9e comme Wordfence r\u00e9alise une analyse approfondie et signale toute correspondance avec sa base de signatures. La version gratuite le fait bien. La version payante met \u00e0 jour ses signatures plus rapidement et ajoute une surveillance des vuln\u00e9rabilit\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Au-del\u00e0 des extensions, vous pouvez proc\u00e9der \u00e0 un balayage manuel. Examinez chaque fichier .php situ\u00e9 hors de wp-admin, wp-includes et des dossiers d&rsquo;extensions et de th\u00e8mes. Rep\u00e9rez les dates de modification r\u00e9centes pour d\u00e9tecter des fichiers modifi\u00e9s ces derni\u00e8res semaines sans explication. Recherchez dans le code les sch\u00e9mas suspects \u00e9voqu\u00e9s plus haut. Tout ce qui correspond m\u00e9rite un examen plus attentif.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Comparez les fichiers du c\u0153ur de WordPress aux versions officielles. Plusieurs outils le font, dont Wordfence et l&rsquo;outil officiel wp cli. Toute diff\u00e9rence dans les fichiers du c\u0153ur est un signal d&rsquo;alerte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le nettoyage apr\u00e8s la d\u00e9couverte d&rsquo;une porte d\u00e9rob\u00e9e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Trouver une porte d\u00e9rob\u00e9e signifie rarement qu&rsquo;il n&rsquo;y en a qu&rsquo;une. Les attaquants en installent souvent plusieurs, \u00e0 diff\u00e9rents endroits et sous diff\u00e9rentes formes, afin qu&rsquo;en trouver une ne les emp\u00eache pas de revenir. Apr\u00e8s avoir identifi\u00e9 une porte d\u00e9rob\u00e9e, \u00e9largissez la recherche. Inspectez tous les emplacements similaires, traquez les sch\u00e9mas comparables et examinez chaque fichier modifi\u00e9 \u00e0 la m\u00eame p\u00e9riode.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Renouvelez toutes les informations d&rsquo;identification : salts et cl\u00e9s, mots de passe WordPress, mot de passe de la base de donn\u00e9es, cl\u00e9s d&rsquo;API, cl\u00e9s SFTP. R\u00e9initialisez toutes les sessions. R\u00e9auditez les utilisateurs. R\u00e9auditez les extensions. Restaurez une sauvegarde saine ant\u00e9rieure \u00e0 la compromission si vous pouvez en identifier la date.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pr\u00e9venir les portes d\u00e9rob\u00e9es d\u00e8s le d\u00e9part<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les portes d\u00e9rob\u00e9es constituent la deuxi\u00e8me couche d&rsquo;une compromission. La pr\u00e9vention consiste surtout \u00e0 \u00e9viter la premi\u00e8re couche. Maintenez \u00e0 jour le c\u0153ur, les th\u00e8mes et les extensions. Supprimez les gestionnaires de fichiers et les extensions d&rsquo;acc\u00e8s shell dont vous n&rsquo;avez pas besoin. Limitez les acc\u00e8s administrateur. Utilisez la 2FA. Faites tourner une extension de s\u00e9curit\u00e9 qui surveille l&rsquo;apparition de nouveaux fichiers \u00e0 des endroits inattendus.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous appliquez ces mesures avec constance, la probabilit\u00e9 qu&rsquo;une porte d\u00e9rob\u00e9e soit install\u00e9e sur votre site chute consid\u00e9rablement. Une fois qu&rsquo;un site est bien d\u00e9fendu, les attaquants se tournent vers des cibles plus faciles.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Besoin d&rsquo;un coup de main ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous soup\u00e7onnez la pr\u00e9sence d&rsquo;une porte d\u00e9rob\u00e9e sur votre site WordPress, ou si vous venez de terminer un nettoyage et souhaitez un second regard pour le v\u00e9rifier, <a href=\"https:\/\/defyn.com.au\" rel=\"noopener\">Defyn<\/a> peut r\u00e9aliser une analyse forensique et vous dire exactement ce que nous trouvons. Contactez-nous et nous vous donnerons une r\u00e9ponse claire, dans un sens comme dans l&rsquo;autre.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Les portes d\u00e9rob\u00e9es de WordPress sont con\u00e7ues pour rester invisibles, souvent pendant des mois. Voici comment les attaquants les installent et comment les rep\u00e9rer sur votre propre site.<\/p>\n","protected":false},"author":2,"featured_media":2048,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[1071],"tags":[],"class_list":["post-2550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website-support-maintenance"],"jetpack_publicize_connections":[],"featured_image_src":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-hidden-backdoors-600x400.jpg?crop=1","featured_image_src_square":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-hidden-backdoors-600x600.jpg?crop=1","author_info":{"display_name":"Claire Smith","author_link":"https:\/\/smartcoding.com.au\/fr\/author\/claire\/"},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/phbW1n-F8","jetpack_featured_media_url":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-hidden-backdoors.jpg","_links":{"self":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/posts\/2550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/comments?post=2550"}],"version-history":[{"count":0,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/posts\/2550\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/media\/2048"}],"wp:attachment":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/media?parent=2550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/categories?post=2550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/tags?post=2550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}