
هدف التحقق: شريحة أساسية مصغرة من ووردبريس تعيد إنتاج سلسلة wp2shell (CVE-2026-63030 + CVE-2026-60137) REST-to-SQLi
إعادة تنفيذ مدمجة وخالية من التبعيات لجزء صغير من واجهة REST API الخاصة بـ WordPress — تكفي فقط لخدمة مجموعة منشورات عامة وتشغيل عدة طلبات فرعية في رحلة ذهاب وإياب واحدة. مفيدة لتعليم كيفية عمل توجيه WordPress و WP_Query و $wpdb معًا دون الحاجة إلى تحميل كل النواة.
| الطريقة | المسار | الغرض |
|---|---|---|
GET | /wp-json/wp/v2/posts | عرض المنشورات. يدعم author_exclude و per_page. |
POST | /wp-json/batch/v1 | تشغيل عدة طلبات فرعية في طلب واحد. |
كلا المسارين عامان (بدون مصادقة)، متوافقان مع الإعدادات الافتراضية لمجموعة المنشورات الأساسية.
index.php front controller / router
wp-includes/
functions.php absint / wp_parse_id_list / wp_parse_url
class-wpdb.php thin $wpdb (prepare / get_results)
class-wp-query.php post query builder
rest-api/
class-wp-rest-request.php
class-wp-rest-server.php routing + /batch/v1
endpoints/class-wp-rest-posts-controller.php /wp/v2/posts
php -S 127.0.0.1:8080
curl 'http://127.0.0.1:8080/wp-json/wp/v2/posts?author_exclude[]=3'
يتطلب PHP ≥ 8.0. قاعدة بيانات MySQL اختيارية — بدونها، يقوم $wpdb بإرجاع SQL التي كان سينفذها حتى تتمكن من رؤية الاستعلامات المُنشأة.