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-40094 — Ce script exploite la vulnérabilité CVE-2024-40094 dans graphql-java. | Kitploit
Outils/GitHubGitHub/kabiri-labs/cve-2024-40094
Analyse des VulnérabilitésExploitationTests de Sécurité des APISécurité WebTests d'Intrusion
GitHubkabiri-labs/cve-2024-40094

CVE-2024-40094

Ce script exploite la vulnérabilité CVE-2024-40094 dans graphql-java.

Voir le dépôt
31il y a 1 anPas 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-2024-40094 ENF (ExecutableNormalizedFields) Exploit de déni de service

Ce script exploite la vulnérabilité CVE-2024-40094 dans graphql-java en déclenchant un déni de service basé sur ExecutableNormalizedFields (ENF). Il construit une requête d'introspection GraphQL spécialement conçue avec des alias profondément imbriqués, destinée à submerger le serveur vulnérable.

Vue d'ensemble

Le script utilise des requêtes asynchrones pour envoyer une série de grandes requêtes d'introspection à un serveur GraphQL cible. Les requêtes sont envoyées sous forme de charges utiles JSON et sont structurées pour exploiter une vulnérabilité spécifique dans la façon dont les serveurs GraphQL gèrent les requêtes d'introspection profondément imbriquées. En déclenchant un grand nombre de ces requêtes en parallèle, le script vise à provoquer une condition de déni de service sur les systèmes vulnérables.

Caractéristiques principales :

  • Exécution asynchrone : utilise asyncio et aiohttp pour des requêtes non bloquantes et efficaces.
  • Requêtes parallèles : lance plusieurs tâches (coroutines) pour simuler des requêtes simultanées.
  • Paramètres personnalisables : plusieurs options de configuration pour contrôler le nombre de requêtes, le délai et le nombre maximal de requêtes par tâche.
  • Journalisation : enregistre facultativement les résultats des requêtes et les erreurs dans un fichier pour analyse.
  • Cibles vulnérables

    Cet exploit cible les serveurs exécutant une version vulnérable de graphql-java, en particulier ceux qui ne gèrent pas correctement les requêtes d'introspection profondément imbriquées.

    Systèmes concernés :

    • Serveurs graphql-java (versions vulnérables à CVE-2024-40094)

    Installation

    Pour exécuter l'exploit, vous avez besoin de Python 3.7+ avec les dépendances suivantes :

    • aiohttp pour les requêtes HTTP asynchrones
    • urllib3 pour la gestion SSL (désactive les avertissements concernant les certificats auto-signés)

    Installation des dépendances :

    Vous pouvez installer les dépendances requises à l'aide de pip :

    root@kitploit:~
    pip install aiohttp urllib3
    

    Configuration

    Tous les paramètres clés peuvent être fournis au moment de l'exécution via les options de ligne de commande :

    • URL (--url) : l'URL de l'API GraphQL cible.
    • HEADERS (--header) : personnalisez le jeton d'autorisation (Authorization) et les autres en-têtes selon vos besoins. Les requêtes envoient des corps JSON, incluez donc Content-Type: application/json. L'option peut être répétée.
    • JOB_COUNT (--job-count) : le nombre de tâches (coroutines) concurrentes à lancer. La valeur par défaut est 50.
    • CONCURRENCY_LIMIT (--concurrency-limit) : nombre maximal de requêtes simultanées sur l'ensemble des tâches. Doit être ≥ JOB_COUNT. Par défaut, il correspond au nombre de tâches ; augmentez-le avec prudence.
    • ALIAS_COUNT (--alias-count) : le nombre de blocs d'alias dans la requête. Cela contrôle la profondeur et la charge de la requête.
    • REQUEST_DELAY (--delay) : le délai entre les requêtes en secondes. Définissez-le sur 0 pour aucun délai ou ajustez-le si nécessaire pour éviter de submerger la cible trop rapidement.
    • MAX_REQUESTS_PER_JOB (--max-requests) : le nombre maximal de requêtes que chaque tâche enverra. Utilisez 0 pour des requêtes illimitées.
    • LOG_FILE : facultatif. Spécifiez un chemin de fichier pour journaliser les résultats des requêtes et les erreurs.

    Utilisation

    Clonez le dépôt sur votre machine locale :

    root@kitploit:~
    git clone https://github.com/kabiri-labs/CVE-2024-40094.git
    cd CVE-2024-40094
    

    Exécutez le script en fournissant les options souhaitées en ligne de commande :

    root@kitploit:~
    python CVE-2024-40094.py \
      --url https://api.example.com/graphql \
      --header "Authorization: Bearer <token>" \
      --header "Host: api.example.com" \
      --job-count 50 \
      --alias-count 500 \
      --concurrency-limit 50
    

    Le script commencera à envoyer des requêtes au serveur cible. Vous verrez l'état de chaque requête affiché dans la console, et les journaux seront écrits dans le fichier journal spécifié.

    Exemple de sortie :

    root@kitploit:~
    [Worker-0] Status: 200, Len: 1000, Time: 0.35s, Snippet: {"data":{"__schema":{"types":[...]}...
    [Worker-1] Status: 200, Len: 1050, Time: 0.37s, Snippet: {"data":{"__schema":{"types":[...]}...
    

    Avertissements

    Ne pas utiliser sur des cibles non autorisées : ce script est destiné à la recherche en sécurité et aux tests dans des environnements contrôlés. Ne l'utilisez pas sur des serveurs de production ou des systèmes sans autorisation explicite.

    Risque de déni de service : exécuter ce script contre un serveur vulnérable peut le rendre non réactif ou provoquer son crash. Utilisez avec précaution.

    Licence

    Ce script est sous licence MIT. Consultez le fichier LICENSE pour plus de détails.

    Télécharger l’outil