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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-71204-PoC — إثبات المفهوم: الإسناد الجماعي عبر الدمج الأعمى في إعدادات changedetection.io (CVE-2026-71204، متوسطة 6.3) | Kitploit
أدوات/GitHubGitHub/nel-droid/cve-2026-71204-poc
المصادقة والترخيصتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن واجهات برمجة التطبيقات
GitHubnel-droid/cve-2026-71204-poc

CVE-2026-71204-PoC

إثبات المفهوم: الإسناد الجماعي عبر الدمج الأعمى في إعدادات changedetection.io (CVE-2026-71204، متوسطة 6.3)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-71204 — changedetection.io: حذف خانة اختيار في حفظ /settings يُعطّل فرض مفتاح API بصمت

المنتج: dgtlmoon/changedetection.io — v0.55.7 الملفات: changedetectionio/blueprint/settings/__init__.py, changedetectionio/forms.py CWE: CWE-284 — التحكم غير السليم في الوصول CVSS 3.1: AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:L — 6.3 (متوسط) CNA: Turan Security · سجل CVE

الوصف

ينشئ معالج الحفظ في /settings الخاص بـ changedetection.io قاموس تحديث من form.data['application'] ويدمجه دمجًا أعمى في إعدادات التطبيق المخزنة عبر .update(). ونظرًا لأن خانات اختيار HTML تظهر في بيانات النموذج المرسلة فقط عند تحديدها، فإن طلب POST مصنوعًا بعناية يحذف ببساطة خانة اختيار ذات صلة بالأمان (مثل تلك التي تفرض اشتراط مفتاح API) لا يمكن تمييزه، على مستوى المعالج، عن قيام المستخدم بإلغاء تحديدها في الواجهة — فالدمج الأعمى .update() يقلب هذا الإعداد إلى إيقاف التشغيل بصمت.

التأثير

الطلب الذي لا يضبط api_access_token_enabled (أو ما يعادله) صراحةً على false — بل يكتفي بترك الحقل خارج جسم POST — يؤدي إلى دمج إعدادات التطبيق مع تعطيل تلك الحماية فعليًا، دون أي خطوة تأكيد صريحة أو إشارة تدقيق تميّز بين «ألغى المستخدم هذا» و«لم يُرسَل الحقل».

إعادة الإنتاج

  1. سجّل الدخول إلى صفحة /settings بشكل طبيعي.
  2. بدلًا من إرسال النموذج الكامل كما هو معروض، أرسل طلب POST إلى /settings مع حذف حقل api_access_token_enabled (أو أي إعداد منطقي محمي يتم اختباره) تمامًا من جسم الطلب، مع تضمين حقول غير ذات صلة فقط:
    root@kitploit:~
    POST /settings HTTP/1.1
    Content-Type: application/x-www-form-urlencoded
    
    application-some_other_field=value
    
  3. يعامل الدمج الأعمى form.data['application'] → .update() في معالج حفظ الإعدادات الحقل المفقود كما لو كان إيقافًا صريحًا، مما يعطّل الحماية بصمت دون أن يرى المستخدم (أو المدقق الذي يراجع الطلب) أي إشارة إيقاف صريحة.

السبب الجذري

يخلط استخدام .update() الأعمى على قاموس من بيانات النموذج الخام بين «الحقل الغائب من POST» و«الحقل المضبوط صراحةً على false» في الإعدادات المعتمدة على خانات الاختيار — فنماذج HTML لا ترسل أبدًا خانات اختيار غير محددة، وبالتالي هذا النمط غير آمن لأي حقل إعدادات له آثار أمنية.

توصية الإصلاح

قم بتعداد حقول الإعدادات المنطقية المتوقعة بشكل صريح، واضبط الحقول الغائبة على قيمتها المخزنة الحالية (وليس False)، أو استخدم مكتبة نماذج تميّز بين «لم يُرسَل» و«أُرسِل كغير محدد» وتتحقق من المفاتيح ذات الصلة بالأمان بشكل صريح بدلًا من الدمج الأعمى للقاموس.

تنزيل الأداة