Difficile Sécurité Web & API +700 XP

PHP2Shell : exploitez la fuite mémoire upload-progress de PHP (CVE-2026-109618)

Reproduisez la véritable attaque PHP2Shell (CVE-2026-109618) contre une boutique PHP auto-hébergée. Abusez de la fuite mémoire de session.upload_progress de PHP pour lire une session opérateur active directement dans la mémoire du worker web, détournez la console d'administration, puis escaladez vers l'exécution de code à distance et root. En pratique, dans le Terminal d'attaque avec curl.

67 % le résolvent 3 hackers ont joué 2 flags Mis à jour le 01 nov. 2026 First blood Malekith
PHP2ShellCVE-2026-109618Memory DisclosureInformation Disclosuresession.upload_progressSession Hijacking
Commencez Votre Défi
  1. 1Créez un compte gratuit, puis cliquez sur « Démarrer le Lab »Vous obtiendrez votre propre machine avec une adresse IP
  2. 2Explorez la cibleOuvrez l'IP dans votre navigateur et cherchez des vulnérabilités
  3. 3Trouvez et soumettez les flagsLes flags sont des textes secrets cachés dans le système - collez-les ci-dessous pour marquer des XP
  • ~1-2 min de configuration
  • Instance privée
  • 30 min par session. Relancez-la gratuitement, autant de fois que vous voulez.

Qu'est-ce que PHP2Shell ?

PHP2Shell est le nom donné à deux vulnérabilités critiques de PHP, CVE-2026-109618 et CVE-2026-109619, divulguées en octobre 2026 par les chercheurs de Calif avec OpenAI et Wiz. PHP fait tourner une grande partie du web, les failles ont donc touché un nombre énorme de serveurs. Au cœur du problème : une fuite mémoire. Avec la bonne requête, un worker web PHP renvoie des octets de sa propre mémoire à un attaquant anonyme. Cette mémoire peut contenir les données des requêtes d'autres visiteurs : jetons de session, clés d'API, voire clés privées. Le correctif côté web est arrivé dans PHP 8.2.35, 8.3.36, 8.4.27 et 8.5.12.

Comment fonctionne ce lab

Vous avez devant vous Kartline, une boutique PHP auto-hébergée qui tourne sur une version de PHP datant de juste avant le correctif PHP2Shell. Sa fonction d'avis produit utilise session.upload_progress pour animer une barre de progression : exactement la surface qu'exploite la fuite mémoire. En travaillant entièrement depuis le Terminal d'attaque avec curl, vous lirez la session d'un opérateur de la boutique directement dans la mémoire du worker web, vous la rejouerez pour prendre le contrôle de la console d'administration, transformerez un outil réservé aux opérateurs en exécution de code à distance pour le flag utilisateur, puis escaladerez vers root. Rien n'est simulé : la cible tourne sur la version réellement vulnérable de PHP.

Pourquoi s'entraîner à la fuite mémoire et au détournement de session ?

Les fuites mémoire comptent parmi les failles les plus dangereuses : Heartbleed, en 2014, fuitait des clés privées d'OpenSSL de la même façon. Une seule requête non authentifiée qui renvoie de la mémoire serveur peut livrer discrètement à un attaquant les secrets exacts dont il a besoin pour se connecter à la place de quelqu'un d'autre. Reproduire toute la chaîne sur HackerDNA développe l'instinct de repérer une fonction d'envoi dangereuse, de reconnaître un runtime vulnérable à sa version, et de comprendre pourquoi garder PHP à jour et appliquer le moindre privilège compte vraiment.

Ce que vous apprendrez

  • Identifier la version d'un serveur PHP et reconnaître une version vulnérable à PHP2Shell
  • Repérer la surface d'attaque session.upload_progress de PHP dans une fonction d'envoi de fichier
  • Exploiter la fuite mémoire PHP2Shell pour fuiter des données de session actives depuis la mémoire du worker
  • Détourner une session opérateur authentifiée en rejouant un identifiant de session PHP volé
  • Transformer une fonction de modèle réservée aux opérateurs en exécution de code à distance
  • Escalader les privilèges via une mauvaise configuration sudo pour capturer le flag root
  • Expliquer pourquoi la mise à jour vers la version corrigée de PHP ferme la faille

Prérequis

Bases du HTTP ligne de commande curl envois multipart/form-data sessions et cookies PHP ligne de commande Linux