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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2019-19634 — هذا استغلال لتجاوز الفلتر يؤدي إلى رفع ملف عشوائي وتنفيذ تعليمات برمجية عن بعد في class.upload.php <= 2.0.4 | Kitploit
أدوات/GitHubGitHub/jra89/cve-2019-19634
توليد الحمولةتحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubjra89/cve-2019-19634

CVE-2019-19634

هذا استغلال لتجاوز الفلتر يؤدي إلى رفع ملف عشوائي وتنفيذ تعليمات برمجية عن بعد في class.upload.php <= 2.0.4

عرض المستودع
368منذ 6 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2019-19634 - class.upload.php <= 2.0.4 رفع ملف عشوائي

  • المؤلف - Jinny Ramsmark
  • البائع المتأثر - Verot.net
  • المنتج المتأثر - class.upload.php <= 2.0.4
  • تم الاختبار على Ubuntu 14.04 مثبت حديثًا مع PHP5 و Apache
  • تم العثور على Debian/Ubuntu معرضة للخطر على وجه التحديد لأنها تضيف امتداد pht من بين امتدادات أخرى إلى معالجات PHP المتاحة. في هذه الحالة class.upload.php لم تقم بإدراج امتداد pht في القائمة السوداء.
  • هذا CVE مرتبط مباشرة بـ CVE-2019-19576

الوصف

هذا استغلال لتجاوز الفلتر يؤدي إلى رفع ملف عشوائي وتنفيذ كود عن بعد. يقوم سكريبت class.upload.php بتصفية 'الملفات والمحتويات الخطيرة' وإعادة تسميتها إلى امتداد txt. كما يقوم بأنواع مختلفة من التحويل على الصورة المرفوعة، مما يؤدي عادةً إلى تدمير أي حمولة محقونة، حتى لو تم تجاوز فلتر امتداد الملف.

فلتر امتداد الملف هو قائمة سوداء، لذلك كلما تم تقديم امتداد جديد (في هذه الحالة pht)، أو تم تفويت أي امتداد، يمكن رفع ملف PHP. ومع ذلك، يجب أن يكون المحتوى صورة صالحة وسيظل يمر عبر وظائف imagecreatefromjpeg وما شابهها. لهذا الغرض، كتبت سكريبت inject.php الذي سيحاول بشكل أساسي البحث عن الصور المختلفة حتى يجد صورة حيث لن يتم تدمير الحمولة بواسطة العملية التي تتم في class.upload.php. هذا يعطينا فعليًا رفع ملف عشوائي وتنفيذ كود خفي جدًا لأنه لا يزال صورة صالحة وسيتم عرضها كصورة على الصفحات التي تم رفعها فيها.

سيتم إعادة كتابة سكريبت inject.php قريبًا ليكون أداة أكثر عمومية لهذا النوع من الهجمات، ولكن في الوقت الحالي سيتم تضمينه كسكريبتات فردية في هذا النوع من إصدارات CVE.

الجدول الزمني (الموعد النهائي الافتراضي 90 يومًا)

  • 2019-12-07 - تم الإبلاغ للمطور و K2 من JoomlaWorks (متأثرون)
  • 2019-12-07 - استجاب المطور وأصدر تصحيحًا
  • 2019-12-08 - استجاب المطور ووافق على نشر المعلومات

الملفات المضمنة في إثبات المفهوم هذا

  • composer.json
  • upload.php
  • inject.php

الاستخدام

سكريبت upload.php هو الكود المثال من github الخاص بـ Verot.net. اعتقدت أنه سيكون من الأفضل توضيح هذه الثغرة باستخدام الكود المثال الخاص بهم.

  • قم بتشغيل php inject.php في الطرفية، سيقوم بإنشاء صورة عينة بحمولة بسيطة في الملف.
  • عندما ينتهي السكريبت سينتج ملفًا باسم image.jpg.pht.
  • تصفح إلى ملف upload.php وقم برفع image.jpg.pht، سيمر عبره وستحصل الآن على شيل

مثال

root@kitploit:~
user@ayu:/var/www/html# php inject.php 
-=Imagejpeg injector 1.8=-
[+] Fetching image (100 X 100) from http://lorempixel.com/100/100/
[+] Jumping to end byte
[+] Searching for valid injection point
[!] Temp solution, if you get a 'recoverable parse error' here, it means it probably failed
[+] It seems like it worked!
[+] Result file: image.jpg.pht
root@kitploit:~
user@ayu:/var/www/html# curl -v -o - http://localhost/images/image_resized.phar?c=uname%20-a | grep -aPo "(Linux.*GNU)"
Linux ayu 5.0.0-36-generic #39-Ubuntu SMP Tue Nov 12 09:46:06 UTC 2019 x86_64 x86_64 x86_64 GNU

الحل المقترح

  • لا تستخدم القائمة السوداء لامتدادات الملفات.
  • استخدم القائمة البيضاء للامتدادات المسموح بها افتراضيًا بدلاً من ذلك.
  • أو ببساطة لا تستخدم أي امتدادات على الملفات المرفوعة، وقم بتخزين الاسم الأصلي في مكان آخر.

المرجع

  • https://github.com/verot/class.upload.php/blob/2.0.5/src/class.upload.php#L3068
تنزيل الأداة