Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/raytran54/cve-2018-7600
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebApprentissage et ÉducationLabs et Pratique
GitHubraytran54/cve-2018-7600

CVE-2018-7600

Laboratoire d'analyse et d'exploitation pas à pas de la vulnérabilité d'exécution de code à distance CVE-2018-7600 de Drupal, incluant le débogage, le code d'exploitation et l'examen du correctif d'atténuation.

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

TRAN CONG DANH - SVTT - Mentor: LUU VAN LAN - CVE-2018-7600 - Date de début : 26/06/2024.

Table des matières :

  1. Résumé CVE
  2. Prérequis
  3. Analyse CVE
  4. Atténuation

Résumé CVE

  • Un attaquant pourrait appeler une requête Ajax de l'API Formulaire Drupal contenant la fonction call_user_func auto do
  • Drupal avant 7.58, 8.x avant 8.3.9, 8.4.x avant 8.4.6 et 8.5.x avant 8.5.1

Prérequis

  • Dans ce laboratoire, j'utilise :

    • Ubuntu 20.04 ( PHP 7.2, MariaDB )
    • La version de Drupal utilisée dans ce laboratoire est 8.3.8
    • Visual Studio Code pour le débogage
    • Kali 23.4 pour exécuter l'exploit Drupal

Analyse CVE

  • Nous trouvons que les clés utilisant call_user_func sont #pre_render, #post_render, #access_callback, #submit, #lazy_builder, #validate image
  • La tâche maintenant est de trouver quel paramètre soumis par l'utilisateur possède un render, peut changer la clé, et recevoir la clé #post_render, pour l'appeler. image
  • Lors du redimensionnement, le serveur d'images appelle l'API Drupal image
  • La fonction &$array incluse ici est le tableau d'éléments par défaut lors de l'envoi, essayons de déboguer sans code : image image
  • Supposons que vous modifiiez la valeur de mail lors du téléchargement : image image

image

  • Lors de l'appel de la méthode getValue($array, $parents), le processus est le suivant :

$ref interdit les références à $array.

Première boucle : $ref référence à $array['a'].

Deuxième boucle : $ref référence à $array['a']['b'].

Troisième boucle : $ref référence à $array['a']['b']['c'].

Le résultat final, $ref sera référencé à la valeur 42.

$array = [
    'a' => [
        'b' => [
            'c' => 42
        ]
    ]
];
$parents = ['a', 'b', 'c'];
  • Après avoir reçu la valeur $form de la fonction getValue. $form deviendra un argument pour la fonction Render

image image image

  • La définition de call_user_func

image

  • Le résultat lorsque j'utilise le fichier d'exploit :

image

Atténuation

  • Correctif ** Les développeurs de Drupal ont publié un correctif, ajoutant une classe RequestSanitizer avec une méthode stripDangerousValues pour supprimer tous les éléments d'entrée du tableau dont les clés commencent par '#'. Cette méthode nettoie les entrées dans $_GET, $_POST et $_COOKIES.

** Drupal 8.6.5 /core/lib/Drupal/Core/DrupalKernel.php image /core/lib/Drupal/Core/Security/RequestSanitizer.php image image ** La fonction stripDangerousValues vérifie tous les paramètres d'entrée un par un, les premiers éléments du tableau d'entrée ayant une valeur commençant par '#' et les valeurs non autorisées sont supprimées.

Télécharger l’outil