Wednesday, February 27, 2019

[ BUG ] blibli.com | XSS bypass filter di meta





Berawal  "pengen" testing bug yang saya temukan di blibli.com, dan katanya sudah di perbaiki oleh team blibli, maka saya mencoba berbagai cara untuk mem-bypass filter mereka. Entah dari mana tiba-tiba ada url dengan beberapa parameter seperti ini :
https://www.blibli.com/jual/quot-gt?s=test&o=11&b=1

Lah, kok malah ada banyak parameter ni, makanya saya coba parameter yang lain, maka ketemulah parameter "b". kemudian coba masukin specialchar ">< didalam parameter tersebut.
https://www.blibli.com/jual/quot-gt?s=test&o=11&b=nemo"><security
hasilnya sebagai berikut di browser firefox : 
pic 1. karena pas waktu testing pake user agent android, jadi bentuk nya seperti itu yak :P
Niat mau testing bug yang kemarin, eh malah ketemu bug yang lain, ya udah, hajaaar sajaaaa...
Bawa request tersebut ke burp suite, biar lebih enak analisanya.

pic 2. special char ilang
hm... klo diliat dari responnya, semua character dibelakang < akan dihilangkan (termasuk special char). Kalo dipikir, ketika kita sudah bisa tutup tag html nya, bakal percuma klo kita gak bisa buka tag html. Mikiiir keraaassss...

coba deh payload xss meta yang biasa ada di internet :P
nemo"HTTP-EQUIV="refresh" CONTENT="0; URL=http://;URL=javascript:alert('XSS');
daaaaan beginilah hasilnya :
pic 3. blibli minta maaf
yaap benar, hasilnya blibli ngasih tau klo dia lagi sibuuuuk :(. Dan dengan berberat hati, dan rasa malas yang luar biasa, pada akhirnya saya mencoba analisa sendiri.
mencoba html encode char < menjadi &#x3C; tapi tetap sama aja, special char tersebut di hilangkan, coba kasih ramuan lagi, ditambah dengan url encode, jadi yang tadinya < dikasih ramuan html encode menjadi &#x3C; kemudian ditambah ramuan terakhir url encode, menjadi %26%23%78%33%63%3b
Maka hasilnya lumayan memuaskan :
pic 4. yak akhirnya bisa munculin buka tag

okay, saatnya kita hajar teman-teman sekalian. Karena tadi cuman special char < aja yang di hilangkan, maka kita pake script xss yang biasa aja yakkk..
berawal dari payload  "><script>alert(0)</script> yang pihak blibli tidak mau menerimanya mentah-mentah, maka kita masak dulu menjadi setengah "medium rare" seperti ini payload nya : nemo">%26%23%78%33%63%3bscript>alert(0)%26%23%78%33%63%3b/script>

Nah, kita coba dulu eksekusi di burpsuite :
pic 5. Ternyata banyak yang kena xss nya, males editnya deh
Ramuan sudah siaap, mari kita bawa payload tersebut ke browser yak :P
https://www.blibli.com/jual/quot-gt?s=test&o=11&b=nemo">%26%23%78%33%63%3bscript>alert(0)%26%23%78%33%63%3b/script>
pic 6. Ini yang masih pake user agent android, mari kita ganti user agentnya, biar netijen gak pada nyinyir :D (padahal sama aja)

pic 7. Hei netijen, tuh kan gak ada bedanya :D

Sekian share pengalaman dari saya, mohon maaf klo masih banyak yang salah. namanya juga securitynewbie yak :)

Time-Line :
  • 19 - 09 - 2018 : Bug ditemukan.
  • selanjutnya timeline mengikuti temuan bug sebelumnya  [bug yang ini]