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
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’)”} |
eyJ0eXBlIjoibnVsbCIsImh0bWwiOiI8c2NyaXB0PmFsZXJ0KCd4c3MnKTwvc2NyaXB0PiJ9 |
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