
ماسح ضوئي متعدد الخيوط بلغة Python (PoC) لثغرة CVE-2023-49103 يتحقق من قوائم كبيرة من عناوين URL بحثًا عن مخرجات phpinfo() المكشوفة مع تجاوز .htaccess عبر لاحقة المسار /.css.
إثبات المفهوم لـ CVE-2023-49103
صُمم هذا السكريبت Python لمعالجة قائمة كبيرة من URLS بكفاءة للتحقق من وجود مخرجات phpinfo(). يستخدم تعدد الخيوط (multi-threading) للتعامل مع عدد كبير من URLS بشكل متزامن، مما يسرع العملية بشكل كبير. يتميز السكريبت أيضًا بشريط تقدم فوري لتتبع التقدم بصريًا.
لتشغيل الثغرة، لا يكفي الوصول إلى URL الخاص بـ phpinfo()؛ بل تحتاج أيضًا إلى تجاوز .htaccess (شكرًا لـ rapid7 على الرؤية). في هذه الحالة، يتم ذلك بإضافة /.css إلى URL.
requestsurllib3coloramaalive-progressconcurrent.futures (جزء من المكتبة الأساسية في Python 3)pip install requests urllib3 colorama alive-progress
لاستخدام السكريبت، تحتاج إلى ملف نصي يحتوي على قائمة URLS للتحقق. يجب أن يكون كل URL في سطر جديد.
أنشئ ملف نصي (مثلاً urls.txt) بحيث يحتوي كل URL في سطر منفصل.
استخدم السكريبت بالأمر التالي، مع استبدال input_file.txt بملف URLS الخاص بك و output_file.txt باسم ملف الإخراج المطلوب:
python exploit.py -t input_file.txt -o output_file.txt
سيقوم السكريبت بمعالجة كل URL وإخراج النتائج إلى ملف الإخراج المحدد. يتم تسجيل URLS التي تحتوي على مخرجات phpinfo() صالحة في هذا الملف.
لا تتردد في عمل fork لهذا المستودع أو تقديم طلبات سحب (pull requests) مع التحسينات.
شكرًا لـ @random-robbie على طلب السحب <3
كتبت هذا السكريبت في الأصل للمتعة فقط (كنت أشعر بالملل وأردت تجربة تعدد الخيوط) وليس لأي غرض خبيث. افعل المثل، اختبر على نطاقاتك الخاصة وليس على نطاق جارك. هذا السكريبت هو فقط للأغراض التعليمية، بالطبع.