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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/squeeze440/cve-2026-73847-emlog-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراق
GitHubsqueeze440/cve-2026-73847-emlog-poc

CVE-2026-73847-emlog-PoC

PoC لثغرة CVE-2026-73847 - emlog AI Assistant: من CSRF إلى تنفيذ SQL إلى الاستيلاء على حساب المدير (CVSS 6.8)

عرض المستودع
10منذ 22 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-73847 — مساعد الذكاء الاصطناعي في emlog: CSRF → تنفيذ SQL → استيلاء على حساب المدير

إثبات مفهوم (PoC) لغياب حماية CSRF في نقطة نهاية execute_tool الخاصة بمساعد الذكاء الاصطناعي في emlog pro، والتي تتيح للمهاجم ركوب جلسة مدير مصادق عليها لتنفيذ استعلامات SQL عشوائية على قاعدة بيانات الموقع — بما في ذلك استيلاء كامل على حساب المدير.

CVECVE-2026-73847
CNAGitHub
الاستشارةGHSA-v6wr-4x55-7qp5
CVSS 3.16.8 متوسط — AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
CWECWE-352 (CSRF)، CWE-1275 (SameSite غير سليم)، CWE-798 (سلسلة تأكيد كتابة مبرمجة بشكل ثابت)
المتأثرemlog pro حتى 2.6.23
الإسنادDostxodjayev Abdullox (@squeeze440) — تصحيح معلّق في سجل CVE، انظر أدناه

السبب الجذري

لوحة تحكم emlog pro تتضمن مساعد ذكاء اصطناعي يمكنه تنفيذ SQL نيابةً عن المدير عبر POST /admin/ai.php?action=execute_tool. تتراكم عدة مشكلات على نقطة النهاية هذه:

  1. لا يوجد رمز CSRF. كل ملف إجراءات تدميرية آخر في admin/ يستدعي LoginAuth::checkToken() أولاً (مثل admin/media.php:140). أما admin/ai.php فلا يفعل ذلك أبداً.
  2. المصادقة تعتمد على كوكيز الجلسة فقط (admin/ai.php:152, User::isAdmin()) — لا يوجد فحص لـ Origin/Referer.
  3. بوابة تأكيد الكتابة عبارة عن سلسلة نصية عامة مبرمجة بشكل ثابت. include/service/ai.php:594: if (trim($confirm_code) !== 'confirm'). أي طلب مزوّر يرسل فقط confirm_code=confirm.
  4. استعلامات SQL للقراءة فقط لا تحتاج إلى أي تأكيد (include/service/ai.php:578,589) — أي طلب مصادق عليه مجرّد يمكنه تنفيذ SELECT على أي جدول.
  5. جدول blog فقط هو المحمي من الكتابة (include/service/ai.php:591) — بينما user وكل جدول آخر قابل للكتابة بالكامل.
  6. إخفاء كلمات المرور يمكن تجاوزه باستخدام الأسماء المستعارة. الإخفاء يطابق فقط اسم عمود المخرجات الحرفي password (include/service/ai.php:822-828) — SELECT password AS pwd_hash FROM user يعيد الهاش الخام.
  7. كوكيز المصادقة لا يحتوي على سمة SameSite (include/lib/loginauth.php:99)، مما يترك نافذة السماح الافتراضية في Chrome "Lax+POST" (تقريباً أول دقيقتين بعد تسجيل الدخول) كالحاجز الوحيد بين هذا الهجوم وبين إيصال موثوق عبر المواقع.

عند ربط هذه الثغرات معاً: طلب واحد مزوّر من متصفح المدير يقرأ كل جدول (بما في ذلك هاشات كلمات المرور) ويكتب في كل جدول باستثناء blog، بما في ذلك الكتابة المباشرة فوق user.password.

إثبات المفهوم

الجزء 1 — سلسلة الأثر الخام (poc_raw_impact.sh)

يعزل أساس تجاوز SQL/المصادقة عن مسألة إيصال CSRF. شغّله ضد نسخة محلية تتحكم بها:

root@kitploit:~
./poc_raw_impact.sh http://TARGET admin '<adminpass>'

يقوم هذا السكربت بتسجيل الدخول كمدير، ويسحب هاشات كلمات المرور عبر تجاوز الاسم المستعار للعمود، ويكتب مباشرة فوق كلمة مرور المدير عبر جدول user، ثم يسجل الدخول مجدداً بكلمة المرور التي اختارها المهاجم من مخزن كوكيز جديد — مما يثبت الاستيلاء الكامل على الحساب بمجرد وصول طلب مصادق عليه إلى نقطة النهاية.

المهاجم يسجل الدخول كمدير باستخدام كلمة المرور المكتوبة عبر SQL، ويصل إلى لوحة التحكم المصادق عليها في جلسة جديدة معزولة

الجزء 2 — إيصال CSRF حقيقي عبر المواقع (poc_csrf.html)

يحسم مسألة SameSite بمتصفح مباشر بدلاً من افتراضها. قدّم poc_csrf.html من أي أصل (origin) مختلف عن الهدف (عنوان IP مختلف يكفي — Chrome يعامل عناوين IP الحرفية المختلفة كمواقع منفصلة) واجعل مديراً مسجلاً الدخول يفتحه خلال دقيقتين تقريباً من تسجيل الدخول:

root@kitploit:~
python3 -m http.server 8888
# then point poc_csrf.html's form action at your target and get it opened

يرسل النموذج نفسه تلقائياً عند التحميل، حيث ينفّذ طلب POST مزوّراً لاستدعاء query_database مع confirm_code=confirm عبر المواقع.

صفحة تسجيل دخول مدير emlog لوحة تحكم المدير بعد تسجيل الدخول مصدر صفحة المهاجم، مقدَّمة من أصل منفصل طلب POST عبر المواقع يصل إلى استجابة JSON الخام الناجحة صف علامة CSRF المحقون ظاهر في لوحة روابط المدير الضحية نفسها

تم التحقق مباشرة: حمل طلب POST المزوّر عبر المواقع كوكيز مصادقة المدير الحقيقي (sec-fetch-site: cross-site, مع إرفاق الكوكيز)، وأعاد 200 {"code":0,"msg":"ok",...}، وتم تأكيد وجود الصف المحقون عبر قراءة مصادق عليها لاحقة. إعادة نفس الطلب بعد حوالي 48 دقيقة ضد نفس مخزن الكوكيز المتقادم باءت بالفشل — لم تُرفق أي كوكيز وأعاد الخادم توجيهاً غير مصادق عليه، مما يؤكد أن نافذة Lax+POST التي تبلغ حوالي دقيقتين هي القيد الحقيقي (وينعكس في AC:H).

التأثير

  • قراءة كاملة لقاعدة البيانات: كل جدول/عمود، بما في ذلك هاشات كلمات المرور وأي أسرار في emlog_options (بيانات SMTP، مفاتيح API، إلخ.).
  • كتابة كاملة لقاعدة البيانات في كل جدول باستثناء blog، بما في ذلك user — الكتابة فوق الدور/كلمة المرور/البريد الإلكتروني، ومثبتة من البداية للنهاية كاستيلاء على الحساب.
  • مقتصر على الحسابات ذات role=admin؛ writer/editor محجوبون بواسطة User::checkRolePermission(). ليس تصعيد صلاحيات من دور أدنى — بل يحوّل نقرة واحدة على رابط خبيث من مدير مسجل الدخول إلى اختراق كامل وصامت للموقع.

الإصلاح

أضف LoginAuth::checkToken() إلى execute_tool، واضبط SameSite=Strict على كوكيز المصادقة، واستبدل سلسلة confirm_code الثابتة برمز حقيقي لكل جلسة يُستخدم مرة واحدة. التفاصيل الكاملة للمعالجة في الاستشارة الأمنية.

الجدول الزمني للإفصاح

  • 2026-07-31 — أُبلغ عبر GitHub Security Advisories وفقاً لملف SECURITY.md الخاص بـ emlog.
  • 2026-08-01 — نشر المشرف الاستشارة وطلب CVE.
  • 2026-08-16 — تم تعيين CVE-2026-73847 بواسطة GitHub (CNA).

ملاحظة حول الإسناد: نشر GitHub بصفته CNA سجل CVE دون إدخال credits، على الرغم من أن GHSA نفسها نسبت المُبلّغ وقبلته. أُرسل طلب تصحيح إلى [email protected] في 2026-08-16؛ سيتم تحديث ملف README هذا إذا صُحح السجل.

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

نُشر هذا المحتوى بعد أن أصبحت الاستشارة عامة وتم تعيين CVE، للاستخدام الدفاعي/التعليمي. لا تشغّل هذا ضد نسخة emlog لا تملكها أو لست مخوّلاً صراحةً لاختبارها.

تنزيل الأداة