
CVE-2023-4771 PoC CKEditor 4 Vulnerabilità di Cross-site scripting (XSS) nel sample AJAX
CVE-2023-4771 PoC CKEditor 4 Vulnerabilità di cross-site scripting (XSS) nell'esempio AJAX
Questo documento descrive come eseguire una vulnerabilità XSS (CVE-2023-4771) utilizzando CKEditor. Assicurati di eseguire i seguenti passaggi con grande cautela:
Prerequisito
• Avere accesso a un'istanza di CKEditor.
File: ckeditor/samples/old/ajax.html.
Passaggi per eseguire la vulnerabilità XSS:
Visitare la pagina di esempio di CKEditor Apri il tuo browser preferito e visita questo URL: /ckeditor/samples/old/ajax.html. Questo URL dovrebbe puntare alla pagina di esempio di CKEditor, che risiede nell'applicazione web testata.
Creare una nuova istanza dell'editor: Vai alla pagina di esempio di CKEditor e trova un controllo (pulsante, collegamento, ecc.) che consenta di creare una nuova istanza dell'editor; fai clic su di esso. L'istanza di CKEditor sulla pagina dovrebbe essere attivata.
Passare alla modalità sorgente: Se l'istanza di CKEditor è pronta, trova e fai clic sul pulsante "Source". Questo pulsante consente di controllare il contenuto HTML grezzo nell'editor.
Iniettare il payload XSS: Nella vista sorgente è presente una textarea in cui puoi scrivere codice HTML. Di seguito è riportato un esempio di payload XSS da iniettare in questa textarea:
<p>Xss<!-- --!>-->Attack</p>
Il payload è una logica che dovrebbe generare un alert durante il rendering di questo HTML.
Rimuovere l'istanza dell'editor: Dopo aver incollato il payload, cerca il pulsante/collegamento denominato "Remove Editor" e fai clic su di esso. Questo disattiverà l'istanza di CKEditor e restituirà il contenuto in HTML.
Osservare l'alert XSS: Se l'applicazione è vulnerabile, dopo la rimozione dell'editor e il rendering del contenuto in HTML, appare un alert con il messaggio "XSS".
Codice vulnerabile in ajax.html: document.getElementById( 'editorcontents' ).innerHTML = html = editor.getData();

Riferimenti:
• https://cve.mitre.org/cgi-bin/cvename.cgi?name=2023-4771
Credito per il PoC: Sahar Shlichove
Credito per il report della CVE: Rafael Pedrero