
كاشف غير تطفلي من النوع الصندوق الأسود لـ wp2shell (ثغرة RCE قبل المصادقة في نواة ووردبريس، CVE-2026-63030 / CVE-2026-60137). الكشف فقط.
كاشف صندوق أسود، غير تدخلي لـ wp2shell — سلسلة RCE قبل المصادقة في جوهر ووردبريس تم الكشف عنها في 2026-07-17:
/wp-json/batch/v1): طلب فرعي يفشل مساره في wp_parse_url() يهبط في مصفوفة التحقق وليس في مصفوفة المعالج، مما يفقد التزامن بينهما.author__not_in في WP_Query، يمكن الوصول إليه قبل المصادقة من خلال ذلك الارتباك في المسار.بالتسلسل، يسمحان لمهاجم مجهول بتزوير حساب مسؤول وإسقاط شل ويب إضافي — على تثبيت افتراضي، بدون الحاجة إلى إضافة أو قالب.
Full technical writeup: https://own2pwn.fr/articles/appsec/wp2shell-wordpress-rce
إنها تكتشف التعرض. إنها لا تستغل أي شيء. كل طلب ترسله هو طلب عادي للقراءة فقط يمكن لأي زاحف إرساله:
generator: وسم generator التعريفي، أصول الجوهر ?ver= (على أصول /wp-includes/ و /wp-admin/، التي تتبع الجوهر)، مولد خلاصة RSS (?v=)، /wp-links-opml.php، أصول صفحة تسجيل الدخول، /wp-includes/version.php، readme.html، وفهرس /wp-json/. يتم التحقق التبادلي من المصادر ويتم الإبلاغ عن ثقة (عالية عندما يتفق ≥2).OPTIONS غير ضار (وفهرس REST) — الذي يعيد مخطط المسار دون استدعاء المعالج أبدًا — لمعرفة ما إذا كان هناك تخفيف حافة قيد التنفيذ.Link أو عناوين URL للأصول — شائع مع الواجهات الأمامية عديمة الرأس/Next.js)، تبلغ الأداة عن ذلك، ويفحصها --discover أيضًا.لا يثير أي طلب الثغرة. لا POST /wp-json/batch/v1، ولا author_exclude، ولا SQL. إذا كان إصدار الجوهر مخفيًا، تقول الأداة ذلك بدلاً من التخمين (تأكيد wp2shell بشكل أعمى سيتطلب استغلالها).
المرونة: إعادة المحاولة مع التراجع، فك تشفير gzip/deflate، السقوط الاحتياطي https→http، متابعة عمليات إعادة التوجيه عبر المضيف، وكيل مستخدم شبيه بالمتصفح (قابل للتجاوز)، ومسح متوازي متعدد الأهداف.
| النطاق | التعرض | تم الإصلاح في |
|---|---|---|
| 6.8.0 – 6.8.5 | حقن SQL فقط (بدون RCE) | 6.8.6 |
| 6.9.0 – 6.9.4 | RCE قبل المصادقة | 6.9.5 |
| 7.0.0 – 7.0.1 | RCE قبل المصادقة | 7.0.2 |
pip install wp2shell-detect
أو قم بتشغيله مباشرة من المصدر (ملف واحد، لا تبعيات، Python 3.8+):
git clone https://github.com/own2pwn-fr/wp2shell-detect
./wp2shell-detect/wp2shell_detect.py https://example.com
لا تبعيات. Python 3.8+.
wp2shell-detect https://example.com
wp2shell-detect --json https://a.example https://b.example
wp2shell-detect --targets hosts.txt --workers 16 # parallel sweep
wp2shell-detect --discover https://front.example # follow headless WP
(عند التثبيت من PyPI، الأمر هو wp2shell-detect. من نسخة مستنسخة، اتصل بـ ./wp2shell_detect.py بنفس الوسائط.)
الخيارات: --json، --discover، --workers N، --timeout S، --user-agent UA، --insecure، --targets FILE. رمز الخروج 2 إذا تم العثور على أي هدف ضعيف (مفيد في CI / عمليات المسح المجدولة).
غالبًا ما تخدم المواقع الحديثة واجهة أمامية بلغة JS/Next.js على www. وتحتفظ بووردبريس على مضيف شقيق (wordpress.، wp.، cms.). مسح www. يعيد not WordPress — بشكل صحيح، لأن هذا المضيف ليس ووردبريس. وجه المسح نحو مضيف ووردبريس، أو مرر --discover لجعل الأداة تجده وتفحصه من CSP / رأس Link / عناوين URL للأصول تلقائيًا.
[!!] https://blog.example.com -> VULNERABLE (pre-auth RCE)
version : 6.9.3 (generator meta tag=6.9.3, RSS feed generator=6.9.3)
batch : reachable (/wp-json/batch/v1)
cves : CVE-2026-63030, CVE-2026-60137
note : WordPress 6.9.3 is in the wp2shell pre-auth RCE range. REST batch endpoint reachable — no edge mitigation.
قم بتحديث جوهر ووردبريس إلى 6.8.6 / 6.9.5 / 7.0.2 أو أحدث. إذا كان التحديث يجب أن ينتظر، قم بحظر مسار الدفعة عند الحافة (/wp-json/batch/v1 و ?rest_route=/batch/v1) أو عبر إضافة إلزامية الاستخدام تتصيد rest_pre_dispatch، ثم قم بتدقيق حسابات المسؤولين المارقة والإضافات غير المعروفة.
للتقييم المصرح به فقط. تشغيل هذا ضد أنظمة لا تملكها ولا أنت مكلف باختبارها قد يكون غير قانوني في منطقتك. أنت مسؤول عن كيفية استخدامه.
MIT. انظر LICENSE. من own2pwn.