
مختبر اختبار اختراق بصندوق أسود لعائلة فساد الذاكرة في محرك PHP2Shell (CVE-2026-109618 / CVE-2026-109619، CVSS 9.8/9.2). سلسلة هجوم مُتحقَّق منها بعلمين مزدوجين، مُعايَرة بواسطة وكيل. EN/JP/ZH.
هدف التقاط الأعلام (capture-the-flag) من نوع الصندوق الأسود مبني حول PHP2Shell — عائلة فساد الذاكرة في محرك PHP لعام 2026 (CVE-2026-109618 / CVE-2026-109619، CVSS 9.8/9.2، تم إصلاحها في PHP 8.4.27). الثغرة موجودة في المحرك، وليس في التطبيق: طبقة تطبيق PHP الصغيرة خالية عمدًا من أي حقن. عليك بصم إصدار وقت التشغيل، وربط الاستشارة الأمنية، واختيار المسار الصحيح. عالق؟ يوجد شرح كامل في docs/SOLUTION.md.
المتطلبات المسبقة: Docker Engine (أو Docker Desktop على Windows/macOS) مع Compose v2 — هذا كل شيء. لا حاجة إلى سلسلة أدوات PHP على المضيف. يعمل على Windows 10/11 (WSL2) وLinux وmacOS؛ راجع ملاحظة المنصات أدناه لمعرفة سلسلة الاستغلال التي يدعمها معالجك.
git clone https://github.com/taniungou/php2shell-lab.git
cd php2shell-lab
docker compose up -d --build # first build pulls the pinned base image
افتح http://localhost:18901 وسجّل الدخول باسم المستخدم demo (كلمة المرور change-me-demo) للوصول إلى التطبيق. من هنا يصبح الصندوق صندوقًا أسود: اكتشف الباقي بنفسك.
هل تريد قيم أعلام وكلمات مرور حسابات خاصة بك؟ عدّل private.ini، ثم:
docker compose build \
--build-arg FLAG_LOCAL=flag{...} \
--build-arg FLAG_PROOF=flag{...}
أعمال الصيانة:
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
الأعلام بنمط OverTheWire:
| العلم | المسار | من يمكنه قراءته |
|---|---|---|
local.txt | /var/www/local.txt | www-data |
proof.txt | /root/proof.txt | root فقط |
up التالية.proof.txt بدرجات أناقة مختلفة. أحدهما على الأقل مُتحقَّق منه بالاختبار الحي؛ وواحد فقط قابل للتوسع إلى أسطول حقيقي.تفترض استغلالات RCE-landing العامة لـ PHP2Shell تخطيط كومة نواة x86_64. على Apple Silicon (وغيرها من مضيفات aarch64 مثل Windows-on-ARM) تنجح بدائيات التسرب لكن RCE-landing لا ينجح — تحققنا من ذلك عبر amd64 تحت المحاكاة، وarm64 الأصلي، وإعداد المرجع لدى مؤلفي الاستشارة (calif.io/php2shell، x86_64 Linux). على مضيفات ARM يكون الحل المقصود هو سلسلة الكشف، لا سلسلة RCE — فهي تعمل في كل مكان، بما في ذلك x86_64. التفاصيل: docs/PLATFORM-MATRIX.md.
سلسلة القتل الكاملة، والإزاحات (offsets)، ونصوص الهجوم لكل جولة: docs/SOLUTION.md — محمية من الحرق بفضل وجود هذا القسم في الأسفل، أعدك.
MIT — ابنِ عليه، واعمل منه نسخة متفرعة، واستخدمه في التدريبات (يُقدَّر ذكر المصدر).