BOOK THIS SPACE FOR AD
ARTICLE ADHello Hunters 👋, perkenalkan saya adalah seorang Bug Hunter, saya hanya mencari celah atau bug disaat saya mempunyai waktu luang saja, karena saya disibukan dengan kegiatan kuliah 🥱. Ini adalah artikel pertama saya di Medium, jadi jangan berharap yang bagus😅
Awalan
Seperti yang saya bilang tadi disaat waktu luang saya sebisa mungkin melakukan Bug Hunt dan pada saat ini yang menjadi target saya adalah situs salah satu pemerintah (Anggap saja target.com) alasan saya memilih situs pemerintah yaitu ingin tau saja apa benar tingkat keamanannya sejelek yang dibicarakan karena sekarang kan banyak banget data yang bocor.
Hunt Time 😈
Langsung saja ke-writeupnya. Setelah saya cari tau, di domain utamanya memiliki sedikit fungsi, jadi saya memutuskan untuk mencari di subdomainnya saja dan menemukan situs yang saya pikir menarik karena disana seperti tempat tempat permintaan informasi (entah informasi apah😅), tapi disana jika ingin mengajukan permintaan, sebelumnya harus mendaftar akun terlebih dahulu dengan syarat:
Mengisi Nomor KTP,Alamat Domsili,Nama Lengkap,Nomor Telepon, danEmailSetelah mendaftar kita diwajibkan untuk memverifikasikan dengan mengklik url di alamat email, tapi sebelum itu kita diarahkan halaman yang dimana nama kita yang kita inputkan ada disana. Langsung saja saya daftar lagi tapi memasukan payload XSS dan Html Injection di nama saya, kemudian keduanya berhasil berjalan, tapi sepertinya itu hanya self XSS jadi saya biarkan.
Setelah memverifikasikan akun, kita diarahkan ke profile kita, disana kita dapat mengedit/mengubah profil kita untuk identitas akun kita (saya sudah mencoba payload XSS, HTMLi, CSSi tapi tidak ada yang berhasil😪), dan ketika saya ingin menguji fungsi upload foto di profile kita, saya menyadari bahwa eksitensi filenya berubah sesuai file signaturenya dan jika eksitensinya .php maka file akan disimpan tanpa eksistensi, saya sudah coba berbagai cara untuk mem-bypassnya, tetapi tetap tidak bisa. Jika file php tidak bisa saya mencoba file html dan ternyata bisa!, begitupun ketika menjalankan javascript disana.
Tapi ketika mengambil cookie entah mengapa hanya ada XSRF Token saja.
Begitupun ketika mencoba SSRF (via iframe/src=) sepertinya itu merender client side jadi tidak bisa. Walaupun masih memungkinkan untuk berbagai macam attack scenario seperti Open Redirect, dll. Saya tetap menginginkan bug yang fatal dan disitulah saya berpikir Account Takeover via CSRF, akan tetapi masih memiliki masalah yaitu mereka juga menerapkan csrf token yang berbeda di tiap request dan itu tertera di halaman profil kita. Akan tetapi, tentu saja saya tau cara bypassnya 😎
PoC
Sebelumnya main browser kita dan iframe didalamnya itu tidak bisa berkomunikasi sama sekali, kecuali, Protokolnya sama, Domainnya sama, dan Portnya juga sama. Jadi gini kita ada csrf token di halaman prfile dan kita dapat mengupload file html, jadi saya berfikir untuk mengambil token via iframe dengan javascript, dan it work again 😎.
langsung saja saya membuat script agar tiap kali membuka file htmlnya ia akan merequest untuk mengganti password yang kita inginkan, singkat cerita itu berhasil 😎.
Saya sudah melaporkan ini kepada instansi terkait karena penyerangan yang berhasil akan dapat mengambil no KTP, nama, alamat, email, dan no. Hp milik korban. Tetapi sampai saat ini belum juga meresponnya.