Bypassing XSS Filter Cloudflare+WordFence on directory.bitcoin.co.id
Sudah 1 tahun (Maret 2017) bug ini saya laporkan dan sudah dilakukan fixing dengan baik.
Pada saat mencari bug saya melihat ada html injection pada fungsi search di directory.bitcoin.id dengan parameter s (ya ini wordpress). Namun ketika dicoba melakukan exploit XSS ditolak oleh CloudFlare/WordFence, well..
Fuzzy demi fuzzy dilakukan, nyari referensi mulai dari XSS cheatsheetnya om brute sampe ke web antah berantah belum berhasil bypass XSS nya. Sampai akhirnya ketemu di https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
Well.. evasion yang saya gunakan adalah: Embedded Encoded Tab
Dengan memasukkan ascii dari tab, maka tulisan akan terpisah sepanjang 1 tab. Contoh :
String javascript disisipkan encoded ascii tab menjadi jav	ascript maka akan terender di html menjadi
jav ascript
Namun dari sisi browser akan diabaikan sehingga tetap menjadi string “javascript” (cmiiw, saya kurang yakin apakah hanya di value dari dom tertentu yang diabaikan). Sehingga final payloadnya menjadi :
Namun setelah diperhatikan ternyata cookie tersebut non-httponly sehingga dapat digunakan di website utama vip.bitcoin.co.id!
Screenshot dibawah sukses masuk dashboard dengan menggunakan cookie yang ditangkap (tentu saja tidak perlu username dan password)