
Proof-of-concept exploit per CVE-2020-11022, una vulnerabilità XSS basata su DOM nelle versioni di jQuery precedenti alla 3.5.0. Dimostra l'iniezione di payload tramite il metodo .html() per attivare cross-site scripting.
Ecco il punto, ragazzi: CVE-2020-11022 è una vulnerabilità in jQuery nelle versioni inferiori alla 3.5.0 o successive; la vulnerabilità CVE-2020-11022 stessa consiste nell'innescare una XSS sfruttando la manipolazione del DOM, come (i.e. .html(), .append(), e altre), per eseguire codice XSS dannoso.
Verifica della versione di jQuery: assicurati che il target utilizzi una versione di jQuery vulnerabile. Questa vulnerabilità si applica a jQuery con versione precedente alla 3.5.0 (dalla 3.5.0 in su è già patchata).
Identificazione degli elementi target (dump degli ID): raccogli (dump) tutti gli attributi id degli elementi HTML presenti nella pagina. Questo viene fatto per cercare gli elementi che l'applicazione potrebbe usare come sink per elaborare l'input tramite metodi di manipolazione del DOM.
Selezione dell'elemento di prova: scegli uno degli ID degli elementi estratti in precedenza. Ad esempio, supponiamo che esista un elemento con ID target #error-msg.
Esecuzione del payload: innesca la manipolazione del DOM iniettando il payload nel sink di destinazione (esempio: metodo .html()).
Sintassi dell'iniezione: $('#error-msg').html(payload)
<style><style />