php2shell-audit field: Windows uses exe, Linux, py, 10 minutes to figure out PHP.
الأمر لا يتعلق بالنحل كل شيء عن طرق:أدوات التعبئة، تشغيل الآلات، تنظيف الأهداف، قراءة الاستنتاجات، تقرير ما إذا كان أو لاتنين عشر دقائق للانتهاء
First, CVE-2026-109618 and CVE-2026-109619 are unauthorized RCE for the PHP motor itself, the official restored version is 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12. مجموعتين من العيار...PHP official CVSS 4.0 beat 9.2, NVD CVSS 3.1 beat 9.89.8 في العنوان هو الثاني وكلاهما يشيران إلى نفس الثغرة من اثنين إلى واحد
هنا الأدوات:Vivipenclaw-code/php2shell-uditApache-2.0, فقط اليوم. يقوم بشيئين: التحقق من ما يتم تركيبه على هذه الآلة، مسح النسخة غير المكتشفة من العاصفة البعيدة.وهي لا تهاجم حركة المرور، ولا تكتب الأقراص، ولا تغير أي تشكيلة.وهذا ما راجعته في شفرة المصدر، والطريقة البعيدة هي في الواقع مجرد إرسال طلب واحد HAD لرأس الاستجابة.
طريقتان لرؤية أي نظام أنت فيه
(لينكس) و (ماكوس) يذهب إلى (بيثون) و (لا تبعية) و المكتبة العادية كافية، لا يُحمّل أي شيء
git clone https://github.com/viviopenclaw-code/php2shell-audit.git
cd php2shell-audit
chmod +x php2shell_audit.py
python3 php2shell_audit.py --local
(ويندوز) يذهب مباشرة إلى الخارج بدون (بيثون) Grab on release page php2shell-audit.exe:
certutil -hashfile php2shell-audit.exe SHA256
php2shell-audit.exe --local
(إكس) هو برنامج واحد لإحتجاز الملفات (و (وين10/11 x64لا توقيع رمزيإذاً أول جولة لـ (سمارت سترين) ستتوقف لنهرب أولاً SHA256SUMS.txt ومرة أخرى - هذه الخطوة هي خطوة لا يلمس فيها أحد " النسخة الخضراء " التي يجري تعميمها على الإنترنت.
نسختان من نفس البارامترات فقط مجموعة واحدة في الجزء الخلفي من التعليم، ويندوز. python3 php2shell_audit.py يستعاض عن عبارة: php2shell-audit.exe فقط افعلها
ماذا يجري؟
python3 php2shell_audit.py --local
انها سوف تفعل أربعة أشياء، شيء واحد:
- اعثر على الشرطة:
/usr/bin/php*لا أعلم/usr/sbin/php-fpm*لا أعلم/opt/*لا أعلم/usr/lib/php/*/sapi/*هوومبريو أيضاً يحسب (ويندوز)، تفقد هذاC:\phpPHP under XAMPP, WAMP, Laragon, Chocolatey, Scoop, Program Files. - القراءة:
php -vTake Banner, with 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12. - التحقق من المفاوضة: parsing the interim mitigation instructions in php.ini.
- Column Process: قائمة بجميع الأعمال التي يجب أن تُعاد بعد الشقة
ركضت فوق آلة بدون شرطة إليك الناتج:
php2shell-audit 1.1.0 - local audit
Host : admin
System : Linux 7.0.0-30-generic (x86_64)
------------------------------------------------------------------------
[UNKNOWN] No PHP installation detected.
------------------------------------------------------------------------
php.ini mitigation directives
[WARNING] session.upload_progress.enabled = (unset) (recommended 0)
[WARNING] fatal_error_backtraces = (unset) (recommended 0)
[WARNING] expose_php = (unset) (recommended 0)
------------------------------------------------------------------------
Running services that must be restarted after patching
[INFO] apache2 - 3 process(es)
------------------------------------------------------------------------
[INFO] No PHP binary, FPM daemon or Apache PHP module was found on this host.
------------------------------------------------------------------------
Remediation
[UNKNOWN] No PHP install was audited, so nothing can be confirmed safe.
شاهد الخط الأخيرلا PHP It's UNKNOWN, no PASS.هذا التصميم معترف به جيداً لا توجد مشكلة في إيجاد أي شيء إنه شيئين مختلفين
بالمناسبة، هو متصل. expose_php جميعهم هذا ليس له علاقة بالثغرة نفسها، لكنه قرار مباشر حول ما إذا كان المسح عن بعد يمكن قراءة رقم نسختك.أطفئه بصمات المهاجم نصف عمياءلا أعلم بالطبع، هو لَيسَ يَدْعو إصلاحَ، هو يُدْعَى تقليل تعرّض المعلوماتِ.
ثالثا - البارامترات
| البارامترات | الدور | التقصير |
|---|---|---|
--local / --remote | اثنان أو واحد، نقرر التحقق من الآلة أو الهدف. | المطلوبة |
--file targets.txt | هدف باتش، واحد في صف واحد، | لا |
--workers N | عدد الدورات المتزامنة الطويلة الأجل | 10 |
--json report.json | (إكتملت (جوسون- اضرب | لا |
--timeout N | مهل طلب واحد | 8 |
--insecure | التحقق من نظام Skip TLS، فقط للبصمات | اقترب |
رمز الخروج: مباشرة إلى نقطة بطاقة CI
| قانون الخروج | معنى |
|---|---|
0 | No affected version found |
2 | وتم العثور على نسخة متأثرة واحدة على الأقل. |
1 | Error on the tool itself (e.g. JSON cannot write) |
استقيلي رقم اثنين، هذا هو المغزىهذا يعني أنه يمكنك وضعه في خط التدفق، ومسحه من خلال مرحلة البناء، ضربه، ولا تنتظر البشر للعثور عليه.
iv. Sweeping remote: -remote how
# 单个目标
python3 php2shell_audit.py --remote example.com
# 批量,20 个并发,出 JSON
python3 php2shell_audit.py --remote --file targets.txt --workers 20 --json out.json
# 也可以直接写在命令行里
python3 php2shell_audit.py --remote https://a.example 10.0.0.5
ماذا؟ الكتابة
# production fleet
example.com
https://shop.example.net
10.0.0.5:8080
ابدأ بملاحظة، خط واحد، واحد في المستودع targets.example.txt يمكن نسخه مباشرة
ماذا أرسل؟
كل هدفإرسال طلب واحد فقط من مكتب المساعدة الإنسانيةمرة واحدة فقط الخادم سيرفض "هيد" و أقرأها Server:لا أعلمX-Powered-By: و Set-Cookieاخرج من هناك PHP/x.y.zلا أعلم
لا وجود لقطع متعددة، ولا جسم كبير، لا منظمة أوم، لا استخدام بعد.مات في مذكرة المصدر كقيد تصميمليس عشوائياً
ويجب أن يكون الثمن واضحا:نمط العزل لا يثبت قابلية الاستخداملا يمكنها سوى الإبلاغ عن معلومات أن الخادم يبصق طواعية اخفي الهدف من النسخة والنتيجة ستكون على الدوام
خامسا - كيفية قراءة الاستنتاجات
[VULNERABLE] https://shop.example.net
http : 200
server : Apache/2.4.62 (Debian)
powered : PHP/8.4.16
php : 8.4.16
verdict : PHP 8.4.16 < fixed 8.4.27
- [VULNERABLE] وقرأت النسخة وأقل من الصيغة المستعادة.
- [PASS] وقد قرأ النص، وهو أكبر من الصيغة المستعادة أو يساويها.
- [رنين] The interim mitigation instructions were not set as suggested.
- [الصراخ] أدلة غير كافيةليس آمناً، غير معروف
وهذا التمييز هو المكان الذي تكون فيه الأداة كلها قيمة للغاية. معظم الماسحون يعطونك الأحمر والأصفر والأخضر ثم تعتقد أنه على الشاشةيجب أن يُعتَبَر مكتب الأمم المتحدة في كينياإما أن تطفئ النسخة المخفية، وتركض في الحاوية - محلية، أو أن تسجل إلى الآلة.
ستة، أربعة حفر، واحد أكثر من الآخر.
Pipe 1: UNKNOWN Clear clear
المضيف الذي اخفي رقم النسخة سيبلغ (الكونو) دائماً فقط تأكد من أنها على الحاسوب الرئيسي --localلا أعلم
الجيب 2: الإصدار غير مُبلغ عنه.
Diian / Ubuntu / RHEL / Alpine regularly calls in safety patches butلا يقفز رقملا أعلم النتيجة هي الآلة المكتملة كما يبدو
لذا لا تذعر حتى ترى الأحمر
apt changelog php8.4
rpm -q --changelog php-8.4 | head -50
وهذه الخطوة، أو عدم القيام بذلك، لن تكون سوى تصعيد؛ بل ستكون أيضاً سوء حساب، وهو الحاجة الحقيقية إلى رفع المستوى.
الركن ٣: مطلوب أيضاً
سيكون في سجل بعضنا البعض، وسوف يكتبه الاتحاد. ويعد التصفيق بدون إذن خطي، بطبيعة الحال، كشفاً غير مأذون به - وهو قانون من قبيل قانون حماية البيئة في المملكة المتحدة لعام 1990.
سأحتاج إذن لتنظيف ممتلكات شركتيIn particular, cross-sectoral, cross-sub-company, cloud-based accounts. لا أعتقد، "أنا فقط أنظر إلى رأس الاستجابة" لا يحسب.
الجيب 4:
PHP runs in the container, runs in the container, or uses it on the host. --remote الميناء الذي تم رسمه المضيف يهرب --local إن لم تجدي الشرطة في الحاوية، ستحصلين على (يونيك نون)...
سبعة، معرفة هناك مشكلة، ثم ماذا؟
الرسم هو الإصلاح الكامل الوحيدكل الباقي ينزف
# Debian / Ubuntu
sudo apt update && sudo apt install --only-upgrade php
# RHEL / Fedora
sudo dnf upgrade 'php*'
# Alpine
sudo apk upgrade php83 php84
تحسين: 8.2 فرع إلى 8.2.358-3 إلى 8.3.36إنها 8.4 8.4.27إنها 8.5 8.5.12لا أعلم 8-1 وما بعده، التقرير الوحيد عن مستوى المصادر.
إذا كنت لا يمكن الحصول على رقعة، تفعل هذه أولا، ثم تبدأ مرة أخرى.
; CVE-2026-109619
session.upload_progress.enabled = 0
; CVE-2026-109618
memory_limit = -1
; 仅 PHP 8.5
fatal_error_backtraces = 0
session.upload_progress.enabled=0أن يكتب في php.ini, FPM tool or server formation,ويجب أن تكون فعالة قبل الطلب.لا أعلم لقد فات الأوانmemory_limit=-1أحتاجهphp_admin_valueThe level setting of such applications is changed, while ensuring that there is no pool/ directory/ application to restore the limited value.- لا تستخدم أبداً مادة RLIMIT AS أو RLIMIT DATA-هذان الإثنان سيجعلان (مايب) تفشل ويعيدان دخول ذلك الطريق الطويل
- التغيير يجب أن يعيد تشغيل كل عامل:
systemctl restart php*-fpm apache2 nginxلا أعلملا يوجد تغيير
لا أحد من هؤلاء الأربعة يمكن أن تجعلك آمنة، والسلطات نفسها واضحة تماما. لها قيمة واحدة فقط:قبل أن تصلعها، غط الباب.
ثامنا - تسلسل كامل
- تحقق من نفسك أولا.:
--localثلاث أو خمس ثواني، انظر النسخة والتشكيل. - مسح الدفعة من بعدإنه أمر مهم
--remote --fileوهربوا، من (جوسون). - تجهيز التصنيف: تحسين قابل للتحسين، تجديد موارد الحرب، تحديد هوية الشبكةليس مغلقاً، يجب أن يتم الأمر
- ترقية + إعادة تشغيل: Patches, and then restart all FPM/ Apache/ nginx.
- التوثيقاركض مرة أخرى، تأكد من الأخضر إنتبهي لخطأ المسافات الخلفية و شاهدي التغيير إذا لزم الأمر
- ادخلي خط الماء: Quit Code 2 Direct fail construction, and next time no one will remember.
العملية كلها 10 دقائق والوقت الحقيقي هو الخطوة الثالثةتحقق من خطوط (كونو)لا أعلم ولكن هذا لن ينقذه، لأن تخطيه، تحصل على تقرير خضراء جميل ومزيف.
قيمة الماسح لا تعطيك أضواء خضراء بل تجبرك على الاعتراف بمكان لا تعرفه
Replay the project address:Gythub.com/viopenclaw-code/php2shell-uditلا أعلم اقرأ (إدلمير) قبل أن تكتب باللغة الصينية
الجملة الأخيرة تذكرني أن هذه الأداة هي 1.1.0 اليوم، النسخة العامة الأولى، شوكة صفر واحدة، عدد قليل من الرموز، يمكنك قراءتها جميعا. php2shell_audit.pyلا أعلمانظر إلى رمز المصدرخاصة إذا كنت تريد قراءة الـ"إف بي" وقائمة العمليات بإذن من المدير