Beberapa hari yang lalu saya mengakses sebuah web Ecommerce asal Indonesia untuk membeli sesuatu.
Ketika mendaftar, pada halaman konfirmasi email, saya melihat bahwa parameter email pada link langsung direfleksikan pada halaman HTML nya. Saya langsung kepikiran XSS, siapa tahu inputnya tidak disanitasi dengan baik.
Langsung saya coba menggunakan beberapa payload, namun tertahan xss protection bawaan dari browser Chrome, sehingga saya harus berganti browser menggunakan firefox.
Ternyata dugaan saya benar, script berhasil dimasukkan dan dirender oleh halaman tersebut. Tetapi, hal tersebut hanya berlaku untuk user yang belum login. Jika user sudah login, halaman akan langsung di redirect ke halaman profil, sehingga sepertinya tidak memungkinkan untuk mencuri cookie user. Well, wajar saja karena memang ini merupakan halaman konfirmasi email untuk user yang baru mendaftar.
Karena pengetahuan saya belum banyak, saya merasa bug ini tidak terlalu berbahaya, kemudian melanjutkan untuk berbelanja. Tapi hari ini ketika berbincang bersama teman, saya diberitahu bahwa selain XSS, ada juga vulnerability yang namanya HTML Injection.
Setelah googling sejenak, saya pikir ini bisa digunakan pada web ecommerce tersebut, khususnya untuk user yang belum login.
Parahnya, sepertinya tidak ada limit input yang bisa saya masukkan pada parameter tersebut, sehingga saya bisa memasukkan banyak sekali script HTML. Contoh sederhananya menggunakan payload ini, saya melakukan defacement dengan membuat halaman login palsu yang bisa saya kontrol pada halaman web tersebut.
Karena saya tidak tahu kontak security perusahaan tersebut, saya memutuskan untuk melaporkan bug ini kepada email Customer Service, dengan harapan dapat diteruskan pada bagian security untuk segera diperbaiki sebelum dimanfaatkan oleh orang tidak bertanggung jawab.
Selamat menunaikan ibadah puasa, kawan-kawan.
Timeline :
5 Mei 2019 – Bug dilaporkan
HTML Injection pada halaman konfirmasi email ci****.com
4/
5
Oleh
Snowking