[Zh3r0 CTF V2] – bXSS

Diberikan sebuah web dimana kita dapat memberikan feedback ke admin. Sesuai judul soal, dugaan saya kita perlu mengexploit blind XSS.

Pertama, melalui https://requestbin.com/ saya akan collect setiap HTTP request yang masuk ke endpoint yang telah dibuat, yaitu https://en8hjlfricc69ej.m.pipedream.net dan menganalisanya.

Buat payload untuk mengecek current page dari victim. Payloadnya adalah sebagai berikut. Jadi payload dibawah akan redirect victim ke https://en8hjlfricc69ej.m.pipedream.net/<current page>

Setelah itu, request berhasil tercapture oleh requestbin. Disitu kita dapat page di sisi victim adalah http://0.0.0.0:8080/Secret_admin_cookie_panel. Payload XSS kita berhasil ketrigger

Selanjutnya, kita coba lihat isi dari http://0.0.0.0:8080/Secret_admin_cookie_panel. Kita gunakan XMLHTTPRequest supaya admin fetch http://0.0.0.0:8080/Secret_admin_cookie_panel dan kirim hasilnya ke requestbin kita melalui POST request. Berikut adalah codenya :

Untuk POST request yang merupakan request ke-2, saya setInterval terlebih dahulu. Hal tersebut dikarenakan XMLHttpRequest bersifat asynchronous, sehingga jika kita tidak sleep terlebih dahulu, maka kemungkinan besar POST request akan terkirim ke requestbin sebelum request pertama selesai dilakukan. Selanjutnya request berhasil masuk, dan diencode dengan base64.

Setelah di decode, ternyata isinya hanyalah payload javascript yang kita kirim ke victim. Kita juga tidak bisa mengambil cookie victim, karena adanya attribute HTTPOnly pada cookie, sehingga tidak memungkinkan kita mengambil cookie menggunakan javascript.

Setelah berpikir cukup lama, saya coba akses http://0.0.0.0:8080/flag, siapa tahu berhasil. Ganti payload menjadi seperti dibawah :

Lalu request berhasil kecapture oleh requestbin :

Decode flagnya, dan kita berhasil mendapatkan flag asli

Flag : zh3r0{{Ea5y_bx55_ri8}}

Leave a Reply

Your email address will not be published. Required fields are marked *