DOM XSS di Plugin Elementor < 3.1.4

cross site scripting 1 CyberDesu

selamat datang di write up yang telah saya buat ini, kali ini saya akan membahas mengenai bug yang telah saya temukan di salah satu web dari indonesia

nah jadi bug yang ditemukan ini adalah DOM XSS yang merupakan bug dengan tingkat severity nya MEDIUM karena di bug ini kita bisa melakukan html injection dan bisa juga mencuri cookie admin menggunakan javascript.

saya mengikuti referensi dari Joel Beleña untuk melakukan exploitasi DOM XSS ini

Capture CyberDesu
 pseudocode Joel Beleña

nahh jadi pada gambar diatas merupakan pseudocode dari function Lightbox elementor yang dibuat oleh Joel Belena. jika dilihat dari pseudocode tersebut, disana ada 3 type yang bisa digunakan yaitu slideshow,video,image. lalu request dari client akan berformat base64 dan akan di decode yang hasilnya menjadi JSON. tapi ada satu pilihan di dalam pseudocode tersebut yang akan di eksekusi ketika 3 type yang telah saya sebutkan tadi tidak dipilih, yaitu pada kode modal.setHTMLContent yang akan mengizinkan kode html/javascript bisa di eksekusi

jadi untuk payload yang akan dibuat yaitu, saya harus membuat kode xss dari format json lalu di encode menjadi base64 seperti berikut

{“type”:”null”,”html”:”alert(‘xss’)”}
before

eyJ0eXBlIjoibnVsbCIsImh0bWwiOiI8c2NyaXB0PmFsZXJ0KCd4c3MnKTwvc2NyaXB0PiJ9
After

nahh payload yang telah diubah menjadi base64 bisa saya langsung gunakan di endpoint yang terindikasi vuln yaitu di link

https:/target.com/#elementor-action:action=lightbox&settings=eyJ0eXBlIjoibnVsbCIsImh0bWwiOiI8c2NyaXB0PmFsZXJ0KCd4c3MnKTwvc2NyaXB0PiJ9

dan hasilnya akan muncul pop up dengan berisi kalimat xss. nah kerentanan ini termasuk ke dalam DOM reflected XSS