
Ambiente di laboratorio containerizzato per simulare e sfruttare una vulnerabilità XSS basata su DOM (CVE-2021-24891) nel plugin Elementor per WordPress per un'educazione pratica sulla sicurezza.
Un ambiente di laboratorio pratico e containerizzato per simulare e sfruttare una vulnerabilità di Cross-Site Scripting (XSS) basata sul DOM nel plugin Elementor Website Builder per WordPress, identificata come CVE-2021-24891.
Questo laboratorio dimostra una vulnerabilità Cross-Site Scripting (XSS) basata sul DOM nel plugin Elementor per WordPress (versioni precedenti alla 3.4.8). La vulnerabilità si verifica perché il codice lato client dell'editor di Elementor legge direttamente i dati dall'hash dell'URL (#...) e li aggiunge al Document Object Model (DOM) della pagina senza una corretta sanitizzazione.
Un attaccante può creare un link malevolo contenente un payload JavaScript nel frammento hash. Quando un amministratore autenticato (come un editor del sito) clicca su questo link, lo script malevolo viene eseguito nel contesto della sua sessione browser, permettendo potenzialmente all'attaccante di eseguire azioni per suo conto, rubare cookie di sessione o deturpare il sito web.
#, elaborata lato client e non inviata al server. Questo è il punto di ingresso per il payload malevolo.Questo repository contiene un'istanza WordPress vulnerabile con il plugin Elementor affetto, pronta per essere sfruttata. Il laboratorio può essere eseguito istantaneamente nel cloud o sulla tua macchina locale.
Questo è il modo più semplice per iniziare. Fornisce un ambiente preconfigurato basato su cloud nel tuo browser.
Avvia Codespace: Clicca sul badge "Open in GitHub Codespaces" in cima a questo README.
Attendi la Configurazione: GitHub preparerà il tuo ambiente. Una volta completato, apparirà un terminale.
Avvia i Servizi Vulnerabili: Nel terminale di VS Code, esegui il seguente singolo comando:
docker compose up
Questo avvierà il sito WordPress vulnerabile e il suo database. Vedrai apparire una scheda "Porte". Clicca sul link per la Porta 8080 per aprire WordPress in una nuova scheda del browser.
Esegui l'intero laboratorio sulla tua macchina con Docker.
Prerequisiti:
Istruzioni:
Clona il Repository:
git clone https://github.com/hackmelocal/CVE-2021-24891-Simulation.git
cd CVE-2021-24891-Simulation
Avvia i Servizi Vulnerabili: Nel tuo terminale, esegui il comando:
docker compose up
Accedi a WordPress: Apri il tuo browser web e naviga a http://localhost:8080.
Il codice JavaScript all'interno dell'editor di Elementor legge il valore da window.location.hash e lo scrive in modo insicuro nel DOM della pagina. Poiché l'input (<script>alert(...)</script>) non è sanitizzato, il browser lo interpreta come un tag script valido e lo esegue. Questo è un classico esempio di XSS basato sul DOM.
Questo laboratorio è fornito solo a scopo educativo. Il creatore non è responsabile per qualsiasi uso improprio delle informazioni o degli strumenti forniti. Assicurati sempre di avere la dovuta autorizzazione prima di effettuare qualsiasi test di sicurezza.
Questo progetto è concesso in licenza sotto la Licenza MIT. Vedi il file LICENSE per i dettagli.