بسم الله الرحمن الرحيم
Belakangan ini saya sedang fokus mempelajari salah satu jenis kerentanan XSS yang disebut Blind XSS. Kerentanan ini menarik karena tidak seperti XSS pada umumnya, payload
yang dikirim akan ter-eksekusi di laman yang berbeda. Skenario yang digunakan pada serangan ini adalah ketika kita dapat mengirimkan sebuah informasi dan informasi tersebut ditampilkan pada tempat yang berbeda, semisal halaman Administrator atau sejenisnya.
I. XSS Hunter
Dikarenakan informasi dan payload
yang kita kirimkan ter-eksekusi di tempat yang berbeda (terkadang di tempat yang tidak dapat kita jangkau), maka kita pun tidak mengetahui kapan payload
tersebut akan ter-eksekusi. Untuk itu, kita dapat menggunakan sebuah tools bernama XSS Hunter. Tools ini membantu memberi notifikasi ketika payload
yang kita kirimkan ter-eksekusi, lengkap beserta informasi detail terkait dimana tepatnya payload
kita ter-eksekusi.
Figure 1 - XSS Hunter
Penggunaan tools ini sangat mudah, kita diberikan berbagai jenis payload
yang dapat langsung kita gunakan.
II. Fitur Ban Product Tokopedia
Tokopedia memiliki fitur bernama Ban Product dimana kita dapat melaporkan suatu produk yang terdaftar di Marketplace tersebut dengan alasan tertentu. Pada halaman tersebut, terdapat sebuah form dengan berbagai informasi yang harus kita isi untuk dapat melaporkan suatu produk.
Figure 2 - Fitur Ban Product Tokopedia
Saya berasumsi bahwa setelah kita mengirimkan laporan, maka akan ada tim dari Tokopedia yang bertugas untuk melakukan investigasi terhadap laporan tersebut. Artinya, informasi yang kita kirimkan akan di-review secara manual oleh tim Tokopedia. Ini merupakan tempat yang cocok untuk menguji kerentanan Blind XSS.
Pada prosesnya, saya meng-inputkan payload
XSS Hunter pada kolom Nama
pada form tersebut.
Figure 3 - Mengisi Form Ban Product Tokopedia
Sampai pada posisi ini, yang dapat dilakukan hanya menunggu berharap payload
akan ter-eksekusi di suatu tempat.
III. XSS Triggered
Setelah menunggu beberapa hari, saya mendapat email notifikasi dari XSS Hunter bahwa payload yang saya kirimkan ter-eksekusi di halaman internal Tokopedia, tepatnya di subdomain internal.tokopedia.com
. Saya pun segera mengeceknya di XSS Hunter dan benar saja payload
ter-eksekusi dan didapat informasi terkait laman tersebut seperti Screenshot, Endpoint, IP Address, dll.
Figure 4 - Halaman XSS Hunter
Figure 5 - Screenshot Panel Tokopedia
Tidak lama saya segera mengirim laporan ke Tim Security Tokopedia, dan kerentanan tersebut diperbaiki dengan cepat.
Timeline:
1
2
3
4
2018-10-04: Report Sent
2018-10-04: Tokopedia Security Team Responded
2018-10-18: Vulnerability Fixed
2018-10-30: Bounty Awarded