UNVALIDATED REDIRECTS AND FORWARDS
Penulis: Ryo Hadinata, Yulyardo
Pembimbing dan Editor: Nico Surantha, PhD
1. Definisi Unvalidated Redirects and Forwards
Unvalidated Redirects and Forwards juga termasuk dalam salah satu dari top 10 resiko keamanan paling berbahaya untuk aplikasi web. Aplikasi web yang dikembangkan di internet akhir-akhir ini sering kali mengarahkan dan meneruskan pengguna website tersebut ke halaman lain dalam satu situs atau ke halaman lain yang merupakan bagian halaman dari suatu external website lain. Tanpa adanya suatu validasi dari kredibilitas halaman-halaman web tersebut, penyerang dapat mengarahkan korban ke sebuah situs yang berisi malware atau sebuah situs phising, yakni situs yang berbahaya bagi pengguna karena website tersebut dapat melakukan instalasi program berbahaya ke komputer korban dan juga penyerang dapat mencuri data-data yang sifatnya pribadi dari korban, selain itu penyerang dapat menggunakan forwards untuk mengakses halaman yang tidak diperuntukan bagi penyerang.
2. Mekanisme Serangan dari Unvalidated Redirects and Forwards
Mekanisme serangan yang pertama yang akan dibahas adalah mekanisme serangan dari unvalidated redirects. Pengalihan aplikasi web adalah suatu hal yang sangat umum ditemui dan seringkali menyertakan parameter yang diberikan pengguna di URL tujuan. Jika tidak tervalidasi, penyerang dapat mengalihkan korban ke situs yang diinginkan penyerang. Untuk ilustrasi serangannya dapat dilihat dari gambar berikut di bawah ini.
Gambar 1. Ilustrasi mekanisme serangan Unvalidated Redirects dan Unvalidated Forwards
Serangan dimulai dari penyerang yang mengirimkan serangannya melalui email atau webpage, biasanya penyerang berusaha melakukan penjebakan terhadap korban dengan iming-iming hadiah atau apapun yang kiranya dapat menarik perhatian korbannya untuk mengklik link jebakan yang sudah disediakan oleh penyerang, link yang dibuat memiliki ciri-ciri yaitu bagian awalnya adalah situs yang terpercaya, namun telah disisipkan URL pengalihan di tengah-tengah link tersebut yang dapat mengalihkan korban ke link yang sudah ditentukan penyerang. Korban yang terjebak mengklik link yang berisi parameter unvalidated redirects, setelah korban mengklik link jebakan tersebut maka secara otomatis korban akan dialihkan ke situs yang ditentukan penyerang. Situs jahat tersebut nantinya dapat melakukan instalasi malware atau melakukan phising terhadap korban untuk mendapatkan informasi dari korban yang bersifat private.
Mekanisme serangan selanjutnya yaitu unvalidated forwards, Forwards adalah hal yang tergolong umum juga dalam suatu aplikasi web. Forwards secara internal mengirimkan permintaan ke halaman baru dalam aplikasi web yang sama dan terkadang parameter digunakan untuk menentukan halaman baru tersebut. Jika tidak tervalidasi, penyerang dapat menggunakan unvalidated forwards untuk melewati pemeriksaan otentikasi atau otorisasi. Untuk ilustrasi serangannya dapat dilihat dari gambar berikut dibawah ini.
Serangan dimulai dari penyerang yang melakukan serangan ke halaman yang rentan terhadap forwards yang penyerang memiliki akses di web tersebut. Request akan terkirim ke website tersebut dimana penyerang memiliki akses di halaman itu. Forwards mengirimkan penyerang langsung ke suatu halaman private dengan melewati kontrol akses. Selanjutnya aplikasi mengotorisasi request dimana melanjutkan ke halaman yang rentan. Forwarding page gagal melakukan validasi parameter, mengirim penyerang ke halaman yang tidak terotorisasi untuknya melewati seluruh kontrol akses.
- Cara Pencegahan Serangan Unvalidated Redirects and Forwards
Sebagai administrator atau developer dari suatu website langkah pencegahan yang dapat dilakukan, antara lain sebisa mungkin menghindari penggunaan dari redirects / forwards. Jika penggunaan redirects / forwards harus digunakan atau tidak bisa dihindari, paling tidak sediakan daftar dari situs-situs mana saja situs yang dapat diterima oleh aplikasi kita. Langkah pencegahan lainnya adalah dengan melakukan validasi target URL, pastikan itu masuk ke situs eksternal yang berwenang. Selain itu pengembang aplikasi diharapkan menerapkan praktik pengkodean yang baik dan selalu melakukan audit situs secara berkala.
Sebagai pengguna website langkah pencegahan yang dapat dilakukan antara lain tetap perbaharui browser yang digunakan, ini untuk memastikan pengguna selalu mendapatkan update pencegahan dari hal-hal yang berbahaya yang terjadi di internet. Pengguna juga disarankan untuk selalu menggunakan perangkat lunak keamanan internet yang tentunya harus up to date untuk meminimalisir serangan-serangan baru yang mungkin sebelumnya belum dapat ditangani dari versi sebelumnya. Dan satu hal lagi yang mungkin seringkali terlewat, yaitu hal kecil seperti membaca URL yang diterima darimanapun juga sebelum mengkliknya. Ini adalah hal simple tapi terkadang menjadi sangat berbahaya bila pengguna lengah.
Daftar Pustaka
Gurubaran. “OWASP A10-Unvalidated Redirects and Forwards”. 20 Oktober 2017. https://gbhackers.com/owasp-a10-unvalidated-redirects-forwards/
Appsec. “2013-A10 – Unvalidated Redirects and Forwards”. 20 Oktober 2017. https://www.slideshare.net/appsec/22-owasp-top-10-a10unvalidated-redirects-and-forwards
OWASP Foundation. “Top 10 2013-A10-Unvalidated Redirects and Forwards”. 20 Oktober 2017. https://www.owasp.org/index.php/Top_10_2013-A10-Unvalidated_Redirects_and_Forwards
SiteLock. “Ask a Security Professional: Understanding Unvalidated Redirects and Forwards”. 20 Oktober 2017. https://wpdistrict.sitelock.com/blog/how-to-mitigate-unvalidated-redirects-forwards/