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-2021-43408 — Analyse technique et preuve de concept d'exploitation pour CVE-2021-43408, une vulnérabilité d'injection SQL dans le plugin WordPress Duplicate Post version 1.1.9, avec guide d'exploitation étape par étape et conseils de remédiation. | Kitploit
Outils/GitHubGitHub/tuannq2299/cve-2021-43408
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'Intrusion
GitHubtuannq2299/cve-2021-43408

CVE-2021-43408

Analyse technique et preuve de concept d'exploitation pour CVE-2021-43408, une vulnérabilité d'injection SQL dans le plugin WordPress Duplicate Post version 1.1.9, avec guide d'exploitation étape par étape et conseils de remédiation.

Voir le dépôt
1il y a 4 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

CVE-2021-43408: Plugin WordPress Duplicate Post version 1.1.9 - Injection SQL

I. Vue d'ensemble

1. Qu'est-ce que WordPress

WordPress est un logiciel CMS (Content Management System) open source, un système de gestion de contenu. Plutôt que d'utiliser le langage HTML, WP est écrit en langage de programmation PHP et s'appuie sur la base de données MySQL. WordPress a été fondé par les développeurs Matt Mullenweg et Mike Little. Aujourd'hui, WordPress appartient à la société Automattic, dont le siège est situé à San Francisco, en Californie, aux États-Unis.

2. CVE-2021-43408

Le plugin Duplicate Post de WordPress, dans les versions 1.1.9 et inférieures, est vulnérable à une injection SQL. Ce type d'exploitation permet à un attaquant d'injecter des requêtes SQL, puis de lire, modifier, voire supprimer des ressources dans la base de données. Cette vulnérabilité peut être exploitée par tout utilisateur authentifié ayant le droit d'utiliser les fonctionnalités du plugin Duplicate Post. Par défaut, seul l'administrateur possède ce droit ; cependant, les autorisations pouvant être modifiées, l'éditeur, l'auteur, le contributeur et même l'abonné peuvent également utiliser ce plugin. CVE-2021-43408 a été découverte le "11/19/2021" et a été évaluée au niveau selon l'échelle CVSS.

HIGH

II. Analyse détaillée

La cause principale de cette vulnérabilité est que les données envoyées dans la requête côté utilisateur ne sont pas assainies avant d'être utilisées dans l'exécution SQL. Plus précisément, dans le fichier post/handler.php, dans la fonction cdn_insert_post()

root@kitploit:~
 function cdp_insert_post($id, $data, $times, $areWePro, $isChild = false, $p_ids = null, $site) {

        // Get Wordpress database
        global $wpdb;

        // Create empty array for new id(s) and error(s)
        $results = array('ids' => array(), 'error' => 0, 'counter' => 0);

        // Get Counter value
        $prefix = (($site != -1) ? $wpdb->get_blog_prefix($site) : $wpdb->get_blog_prefix());
        $newestId = $wpdb->get_results("SELECT post_id FROM {$prefix}postmeta WHERE meta_key = '_cdp_origin' AND meta_value = {$id} ORDER BY post_id DESC LIMIT 1", ARRAY_A);

$id est contrôlé par l'attaquant

La variable $id est passée à la fonction contenant la requête SQL sans aucune assainissement. Cette fonction est appelée via WordPress Ajax wp_ajax_cdp_action_handling. On peut voir que le paramètre id est transmis via la fonction cdn_sanitize_array ; ici, les champs de données de l'article passent par la fonction sanitize_text_field, qui échappe tout guillemet ' dans la chaîne de données.

Les champs de données sont soumis à sanitize_text_field

Cependant, le code contient une faille lorsqu'il transmet les données du champ Integer (le champ id) dans la requête SQL. Un attaquant peut en profiter pour insérer des instructions SQL supplémentaires dans la valeur de ce champ. Par conséquent, pour contrôler la requête SQL, l'attaquant n'a qu'à éviter d'utiliser le caractère '.

III. Démonstration

1. Environnement

  • OS: Windows
  • Xampp: 7.1.33
  • WordPress: 5.0
  • Plugin Duplicate Post: 1.1.9

2. PoC

Étape 1: Connectez-vous en tant qu'administrateur, installez le plugin Duplicate Post version 1.1.9. Ce plugin permet aux utilisateurs de dupliquer les articles existants.

Étape 2: Accédez à la section Post, sélectionnez un article, choisissez l'action Copy et cliquez sur Apply.

Étape 3: Sélectionnez Setting: Default puis cliquez sur Copy.

Étape 4: Interceptez la requête HTTP. Le champ de données à noter ici est id ; on peut voir que les données de ce champ sont de type Integer.

Étape 5: Insérez la charge utile d'injection SQL, envoyez la requête et constatez que le serveur ne renvoie la réponse qu'après 9 secondes -> l'injection SQL a réussi. Charge utile : 1 and (select*from(select(sleep(9)))a)--

3. Code d'exploit

IV. Mesures correctives

  • Mettez à jour le plugin vers les versions 1.2.0 ou supérieures

V. Référence

  • https://appcheck-ng.com/security-advisory-duplicate-post-wordpress-plugin-sql-injection-vulnerability
Télécharger l’outil