
Black-Box-Pentest-Lab für die Memory-Corruption-Familie der PHP2Shell-Engine (CVE-2026-109618 / CVE-2026-109619, CVSS 9.8/9.2). Dual-Flag-verifizierte Angriffskette, agentenkalibriert. EN/JP/ZH.
Ein Black-Box-Capture-the-Flag-Ziel, das um PHP2Shell herum aufgebaut ist — die Familie von Speicherkorruptions-Schwachstellen in der PHP-Engine von 2026 (CVE-2026-109618 / CVE-2026-109619, CVSS 9.8/9.2, behoben in PHP 8.4.27). Die Schwachstelle liegt in der Engine, nicht in der Anwendung: Die winzige PHP-Anwendungsschicht ist absichtlich frei von Injection-Schwachstellen. Du musst die Laufzeitumgebung fingerprinten, den Advisory zuordnen und die richtige Ballistik wählen. Festgefahren? Vollständige Schritt-für-Schritt-Lösung in docs/SOLUTION.md.
Voraussetzungen: Docker Engine (oder Docker Desktop unter Windows/macOS) mit Compose v2 — das ist alles. Keine PHP-Toolchain auf dem Host nötig. Läuft unter Windows 10/11 (WSL2), Linux und macOS; siehe den Plattformhinweis unten, welche Exploit-Kette deine CPU unterstützt.
git clone https://github.com/taniungou/php2shell-lab.git
cd php2shell-lab
docker compose up -d --build # first build pulls the pinned base image
Öffne http://localhost:18901 und melde dich als Benutzer demo an (Passwort change-me-demo), um die App zu erreichen. Ab hier ist die Box Black-Box: Finde den Rest selbst heraus.
Du möchtest eigene Flag-Werte und Kontopasswörter? Bearbeite private.ini, dann:
docker compose build \
--build-arg FLAG_LOCAL=flag{...} \
--build-arg FLAG_PROOF=flag{...}
Hauswirtschaft:
docker compose logs -f # watch the target
docker compose down -v && docker compose up -d --build # full reset (re-arms the leak window)
docker compose down # stop and free resources
Flags folgen dem OverTheWire-Stil:
| Flag | Pfad | Lesbar durch |
|---|---|---|
local.txt | /var/www/local.txt | www-data |
proof.txt | /root/proof.txt | nur root |
up.proof.txt mit unterschiedlichen Eleganznoten. Mindestens einer ist durch Live-Fire verifiziert; nur einer skaliert auf eine echte Flotte.Die öffentlichen RCE-landenden Exploits für PHP2Shell setzen ein x86_64-Kernel-Heap-Layout voraus. Auf Apple Silicon (und anderen aarch64-Hosts wie Windows-on-ARM) landen die Leak-Primitive, aber die RCE-Landung nicht — wir haben dies über amd64-unter-Emulation, arm64-native und die Referenzkonfiguration der Advisory-Autoren (calif.io/php2shell, x86_64 Linux) hinweg verifiziert. Auf ARM-Hosts ist die beabsichtigte Lösung die Disclosure-Kette, nicht die RCE-Kette — sie funktioniert überall, auch auf x86_64. Details: docs/PLATFORM-MATRIX.md.
Vollständige Kill Chain, Offsets und Angriffs-Transkripte pro Runde: docs/SOLUTION.md — spoiler-geschützt dadurch, dass dieser Abschnitt ganz unten steht, versprochen.
MIT — baue darauf auf, forke es, nutze es in Trainings (Attribution geschätzt).