Icône du lab

Beyond Echo

Moyen Mis à jour le 23 juin 2026 Accès Gratuit
PHP RCE

Démarrez la machine, hackez le système et trouvez les flags cachés pour compléter ce défi et gagner des XP!

1
Flags
200
XP
50%
Taux de Réussite

L'exécution de code à distance (RCE) est parmi les vulnérabilités les plus graves en sécurité des applications web. Elle permet à un attaquant d'exécuter des commandes arbitraires sur le serveur hébergeant l'application, pouvant potentiellement mener à une compromission complète du système. Les vulnérabilités RCE dans les applications PHP sont particulièrement courantes en raison des nombreuses fonctions du langage qui peuvent exécuter des commandes système ou évaluer du code dynamiquement.

Comment les vulnérabilités RCE surviennent en PHP

PHP fournit plusieurs fonctions dangereuses pouvant mener à l'exécution de code à distance lorsqu'elles sont combinées avec une entrée utilisateur non assainie. Les fonctions comme system(), exec(), shell_exec(), passthru() et l'opérateur backtick exécutent toutes des commandes du système d'exploitation. De même, eval(), assert() et preg_replace() avec le modificateur /e peuvent évaluer du code PHP à partir de chaînes de caractères. Lorsqu'une de ces fonctions traite une entrée contrôlable par l'utilisateur sans validation appropriée, un attaquant peut injecter et exécuter des commandes arbitraires sur le serveur.

Tutoriel sur l'injection de commandes pour la sécurité web

Comprendre l'injection de commandes nécessite une connaissance de la façon dont les applications web interagissent avec le système d'exploitation sous-jacent. Dans un scénario typique, une application PHP peut passer l'entrée utilisateur à une commande système - par exemple, en utilisant ping ou nslookup pour vérifier la connectivité réseau. Un attaquant peut sortir de la commande prévue en injectant des métacaractères shell comme des points-virgules (;), des pipes (|) ou une syntaxe de substitution de commande ($(command)) pour ajouter des commandes supplémentaires. Les commandes injectées s'exécutent avec les mêmes privilèges que le processus du serveur web.

Impact et prévention

L'exploitation réussie d'une RCE donne aux attaquants un point d'ancrage sur le serveur, à partir duquel ils peuvent lire des fichiers sensibles, accéder aux bases de données, pivoter vers les réseaux internes ou installer des portes dérobées persistantes. La prévention nécessite d'éviter les fonctions dangereuses lorsque c'est possible, d'utiliser des commandes paramétrées, d'implémenter une validation stricte des entrées avec des listes blanches et d'exécuter les applications web avec des privilèges minimaux. Les tests de sécurité doivent cibler spécifiquement toute fonctionnalité où l'entrée utilisateur pourrait atteindre des fonctions d'exécution de commandes.

Ce que vous apprendrez

  • Comprendre comment les vulnérabilités d'exécution de code à distance surviennent dans les applications PHP
  • Apprendre à identifier les fonctions PHP dangereuses pouvant mener à une RCE
  • Pratiquer l'exploitation de l'injection de commandes dans une application web
  • Développer des compétences pour reconnaître les vecteurs d'attaque RCE lors des tests de sécurité
  • Comprendre l'impact d'une RCE réussie et comment la prévenir

Prérequis

Basic PHP understanding Web application fundamentals Linux command line HTTP request mechanics

Prêt à hacker ce lab ?

Créez un compte gratuit et pratiquez la cybersécurité.

Commencer - C'est gratuit
Commencez Votre Défi

Lancez votre machine dédiée pour commencer à hacker

~1-2 min de configuration
Serveur dédié
Instance privée
Puissance standard
Nouveau ? Voici comment faire
1
Cliquez sur "Start Lab" ci-dessus Vous obtiendrez votre propre machine avec une adresse IP
2
Explorez la cible Ouvrez l'IP dans votre navigateur et cherchez des vulnérabilités
3
Trouvez et soumettez les flags Les flags sont des textes secrets cachés dans le système - collez-les ci-dessous pour marquer des XP

Prêt à hacker ce lab?

Créez un compte gratuit pour démarrer votre propre serveur dédié, soumettre des flags et gagner des XP au classement.

Commencer à Hacker Gratuitement
13 000+ Hackers 100+ Labs & Cours Gratuit
Commencer Gratuitement