
أداة سطر أوامر تتحقق من إصدار PHP لموقع ويب أو من ملف PHP ثنائي محلي مقابل حدود تصحيحات مضمّنة لتحديد حالة الثغرة php2shell، مع إخراج JSON ورموز خروج.
تحقق من موقع ويب أو ملف PHP ثنائي محلي لمعرفة ما إذا كان عرضة لـ php2shell.
لتثبيت كلتا المهارتين، اطلب من Codex:
$skill-installer install both skills from https://github.com/openai/php2shell-checker
استخدم phpcheck-server عندما يكون لديك وصول إلى الخادم، أو phpcheck-url عندما يكون لديك رابط URL فقط:
$phpcheck-url check https://example.com
$phpcheck-server check the PHP version serving my site
تحقق من موقع ويب:
node phpcheck.js "https://example.com"
تحقق من PHP المحلي عبر سطر الأوامر
node phpcheck.js --local
| النتيجة | رمز الخروج | المعنى |
|---|---|---|
OK | 0 | إصدار تصحيح PHP مستقر أعلى من الحد المضمّن لفرع رئيسي/فرعي مدرج. |
VULNERABLE | 1 | إصدار PHP عند الحد المضمّن لذلك الفرع أو أقل منه. |
UNKNOWN | 3 | لا يوجد إصدار PHP أو استجابة، أو إصدار/فرع غير معروف، أو إصدار ما قبل الإصدار أحدث. |
استخدم --json للحصول على مخرجات قابلة للقراءة آليًا (patch_status تكون ok أو vulnerable أو unknown). الوسائط غير الصالحة تنتهي برمز الخروج 2.
node --test phpcheck.test.js
تشغّل الاختبارات واجهة سطر الأوامر (CLI) مقابل خوادم HTTP محلية وملف PHP تنفيذي وهمي. لا يلزم تثبيت PHP أو موقع ويب خارجي.
يقيّم الفاحص فقط الإصدارات المكشوفة في ترويسات استجابة HTTP أو عبر php -v. يقرأ X-Powered-By وServer، ويرسل HEAD، ويلجأ إلى GET فقط عندما يُرجع HEAD الرمز 405 أو 501. لا يتبع عمليات إعادة التوجيه ولا يفحص أجسام الاستجابة. الترويسات المفقودة أو المخفية لـ PHP تُرجع UNKNOWN.
OK هي مقارنة إصدارات مبنية على افتراض أن تصحيحات الإصدارات المستقرة اللاحقة في كل فرع مدرج تحتوي على الإصلاح.
وهي لا تتحقق بشكل مستقل من إصلاح أمني. تحقق من الإصدارات مقابل
إصدار PHP الأمني الرسمي. يمكن إخفاء الترويسات أو تغييرها، وقد لا تغيّر
الترقيعات الخلفية للتوزيعات الإصدار الأصلي. UNKNOWN لا يعني أن الهدف مُرقّع!
لا تقبل OpenAI مساهمات برمجية خارجية لهذا المشروع. تقارير الأخطاء والملاحظات غير البرمجية مرحّب بها عبر مشكلات GitHub. راجع CONTRIBUTING.md.
هذا المشروع مرخّص بموجب Apache License 2.0.