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-2022-28346 — Une faille a été découverte dans le package Django, qui conduit à une injection SQL. Cette faille permet à un attaquant d'utiliser un dictionnaire spécialement conçu contenant des requêtes SQL malveillantes pour compromettre entièrement la base de données. | Kitploit
Outils/GitHubGitHub/kamal-marouane/cve-2022-28346
Analyse des VulnérabilitésExploitationExploitation d'Applications WebApprentissage et ÉducationSécurité des Bases de DonnéesLabs et Pratique
GitHubkamal-marouane/cve-2022-28346

CVE-2022-28346

Une faille a été découverte dans le package Django, qui conduit à une injection SQL. Cette faille permet à un attaquant d'utiliser un dictionnaire spécialement conçu contenant des requêtes SQL malveillantes pour compromettre entièrement la base de données.

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
Voir le dépôt
11il y a 2 ansPas encore vérifié

CVE-2022-28346

Une faille a été découverte dans le package Django, entraînant une injection SQL. Cette faille permet à un attaquant utilisant un dictionnaire conçu contenant des requêtes SQL malveillantes de compromettre complètement la base de données.

Table des matières

  • CVE-2022-28346
    • Description
    • Environnement
    • Preuve de concept et exploitation
    • Références

Vous trouverez ci-dessus dans le dépôt de code le rapport d'analyse détaillé (PDF) sur CVE-2022-28346.

Description

CVE-2022-28346 est une vulnérabilité critique identifiée dans différentes versions de Django, un framework web Python populaire. Cette vulnérabilité affecte spécifiquement les versions de Django 2.2 avant 2.2.28, 3.2 avant 3.2.13 et 4.0 avant 4.0.4.

Le cœur du problème réside dans les méthodes QuerySet.annotate(), aggregate() et extra() de Django. Ces méthodes sont vulnérables aux attaques par injection SQL lorsque des alias de colonnes sont utilisés conjointement avec un dictionnaire conçu (avec expansion de dictionnaire) comme **kwargs passés. L'injection SQL est un type d'attaque qui permet à un attaquant d'interférer avec les requêtes qu'une application fait à sa base de données. Elle peut être utilisée pour afficher des données qu'il ne peut normalement pas récupérer, y compris des données appartenant à d'autres utilisateurs, ou toute autre donnée à laquelle l'application elle-même a accès. Dans certains cas, un attaquant peut être en mesure de modifier ou de supprimer ces données, affectant l'intégrité des données.

Environnement

Pour effectuer un test complet de cette vulnérabilité, assurez-vous d'avoir suffisamment d'espace libre sur votre disque dur. Un minimum de 1,2 Go est nécessaire pour réaliser avec succès le test de vulnérabilité.

Si vous avez déjà Docker installé, vous pouvez ignorer cette section et passer directement à la série d'instructions suivante.

Pour commencer à tester cette vulnérabilité, installez Docker :

  • Installer Docker pour environnement Linux
  • Installer Docker pour environnement Windows

Vérifiez que Docker est opérationnel avant de passer aux étapes suivantes.

Dans votre terminal, exécutez la commande suivante pour obtenir l'image docker que nous avons créée et poussée sur DockerHub :

root@kitploit:~
sudo docker pull marouanekamal/cve-2022-28346:latest


Et attendez que l'image Docker termine son téléchargement. Si vous rencontrez des problèmes, cela peut être dû à votre connexion internet ; assurez-vous d'avoir une connexion stable et active.

Après la fin de l'installation, vérifiez que l'image existe en exécutant la commande suivante :

root@kitploit:~
sudo docker images


Vous pouvez maintenant exécuter l'image docker en utilisant la commande suivante :

root@kitploit:~
sudo docker run -p 8000:8000 --name my_cve_container marouanekamal/cve-2022-28346:latest


Maintenant le serveur est en cours d'exécution et nous pouvons exploiter cette CVE ;)

Preuve de concept et exploitation

Après avoir exécuté l'image docker, vous pouvez accéder au lien suivant pour vérifier si l'URL est accessible :

root@kitploit:~
http://0.0.0.0:8000/


Le mot ok s'affiche, ce qui signifie que l'URL est accessible et que tout fonctionne correctement !

Maintenant, attaquons cette vulnérabilité en utilisant une injection SQL. Tapez l'URL suivante pour ce faire :

root@kitploit:~
http://0.0.0.0:8000/demo?field=demo.name" FROM "demo_user" union SELECT "1",sqlite_version(),"3" --


Nous avons pu déterminer la version de SQLite utilisée par le serveur ;)

Références

  • https://mocusez.site/posts/a3ce.html
  • https://blog.csdn.net/weixin_46944519/article/details/128496498
  • https://www.cvedetails.com/cve/CVE-2022-28346/?q=CVE-2022-28346
  • https://avd.aquasec.com/nvd/2022/cve-2022-28346/
  • https://cyber.vumetric.com/vulns/CVE-2022-28346/sql-injection-vulnerability-in-multiple-products/
  • https://www.suse.com/security/cve/CVE-2022-28346.html
  • https://docs.djangoproject.com/en/4.0/releases/security/
  • https://www.freebuf.com/vuls/332893.html

Si vous rencontrez des problèmes ou avez besoin de clarifications sur l'une des étapes, n'hésitez pas à nous contacter par email pour obtenir de l'aide :

[email protected]

Télécharger l’outil