
ماسح ضوئي آمن لـ PoC ومختبر Docker لـ CVE-2023-27372، ثغرة RCE في نظام إدارة المحتوى SPIP قبل الإصدار 4.2.1. يتحقق من الثغرة عبر نقطة نهاية استعادة كلمة المرور دون إجراءات تدميرية.
يحتوي هذا المستودع على:
stand/ — بيئة اختبارية (بيئة ضعيفة) على Docker: SPIP + MariaDB.poc/ — أداة فحص (scanner) مكتوبة بلغة Python، تنفذ تأكيدًا آمنًا للثغرة (Safe PoC) دون إجراءات تخريبية.المشروع مخصص لعرض وتحليل الثغرة CVE-2023-27372 في SPIP حتى الإصدار 4.2.1. يتم الفحص من خلال وظيفة استعادة كلمة المرور (النقطة الطرفية spip.php?page=spip_pass) ويتم تأكيده بتنفيذ أمر آمن على جانب البيئة الاختبارية.
.
├── stand/ # بيئة اختبارية ضعيفة (SPIP + MariaDB) على Docker Compose
│ ├── docker-compose.yml
│ └── ... (Dockerfile/scripts للبيئة الاختبارية، وحدات تخزين ثابتة، إلخ.)
└── poc/ # Safe PoC scanner (Python)
├── Dockerfile
├── README.md # (اختياري) توثيق محلي لـ PoC
└── src/
├── scanner.py
├── utils.py
└── pyproject.toml
cd stand
docker compose up -d
docker compose ps
ستكون الخدمة متاحة على العنوان:
http://127.0.0.1:8080/http://127.0.0.1:8080/spip.php?page=loginانتقل إلى poc/ وقم ببناء صورة Docker للماسح الضوئي:
cd ../poc
# إذا كانت بيئتك تعاني من مشاكل DNS أثناء البناء، استخدم:
docker build --network=host -t spip-poc-scanner .
إذا لم تكن هناك مشاكل DNS، يمكنك استخدام الأمر العادي:
docker build -t spip-poc-scanner .
التشغيل الموصى به للبيئة الاختبارية المحلية:
docker run --rm --network="host" \
-v "$(pwd)":/app/out \
spip-poc-scanner \
-i http://127.0.0.1:8080 \
-o /app/out/results.json
بعد التنفيذ، سيظهر ملف results.json (مثال على الهيكل):
[
{
"ip": "http://127.0.0.1:8080",
"vuln": true
}
]
إذا كان تنفيذ PoC الخاص بك يؤكد التنفيذ من خلال إنشاء ملف (مثل /tmp/pwned.txt)، يمكنك التحقق من ذلك داخل حاوية الويب.
خيار بدون اسم حاوية ثابت:
cd ../stand
WEB_CID="$(docker compose ps -q web)"
docker exec "$WEB_CID" ls -l /tmp/pwned.txt
إذا كان الملف موجودًا، فهذا يؤكد إمكانية تنفيذ الأمر داخل البيئة الاختبارية.
pip)spip.php?page=spip_passTemporary failure in name resolution أثناء docker buildاستخدم البناء مع شبكة المضيف:
docker build --network=host -t spip-poc-scanner .
أوقف التشغيل واحذف وحدات التخزين:
cd stand
docker compose down -v
docker compose up -d
تم إنشاء المشروع حصريًا للاستخدام التعليمي والاختبار القانوني في بيئة مختبرية خاصة. المؤلف غير مسؤول عن أي استخدام غير مصرح به.