Open redirect: ketika tautan tepercaya asli mengarah ke penyerang
Anda mengarahkan kursor ke sebuah tautan, melihat google.com atau nama situs yang Anda kenal baik muncul, lalu mengklik tanpa curiga. Namun, Anda malah mendarat di halaman phishing. Ini bukan kesalahan tampilan atau pemalsuan alamat: tautan tersebut memang benar-benar, pada awalnya, mengarah ke situs asli. Inilah mekanisme open redirect (pengalihan terbuka).
Apa itu open redirect?
Banyak situs menawarkan fitur yang sepenuhnya sah: mengalihkan pengunjung ke alamat lain setelah suatu tindakan, misalnya setelah masuk (login), mengklik tautan bersponsor, atau melalui pemendek tautan. Situs menerima alamat tujuan di dalam URL-nya, lalu mengarahkan browser ke alamat tersebut.
Celahnya muncul ketika situs menerima alamat tujuan apa pun, tanpa memeriksa apakah alamat itu termasuk dalam daftar yang diizinkan. Para pengembang membangun layanan pengalihan yang berguna; mereka hanya lupa menutup pintu belakangnya. Siapa pun kemudian bisa membuat tautan yang dimulai dengan nama situs tepercaya, tetapi berakhir di tempat lain, di tangan penyerang.
Anatomi tautan berbahaya
Mari kita ambil contoh struktur yang sengaja disederhanakan:
https://www.google.com/url?q=https://site-pirate.example
Tautan ini memang terbuka di server Google: nama domain google.com asli, dan tidak ada yang berbohong soal itu di bilah alamat. Namun parameter ?q= membawa alamat kedua, yang menjadi tujuan sebenarnya begitu pengalihan dipicu. Mekanisme yang sama juga muncul dengan nama parameter lain yang sama umumnya: ?dest=, ?redirect=, ?target=, ?next=, atau ?url=. Mengenali salah satu kata kunci ini tepat setelah tanda tanya, diikuti oleh alamat web kedua, adalah sinyal paling sederhana yang perlu diwaspadai.
Mengapa penyerang menyukai teknik ini
Metode ini menyelesaikan dua masalah sekaligus bagi penyerang.
- Melewati filter antispam. Secure Email Gateway memberikan skor kepercayaan pada domain yang ada dalam sebuah email. Tautan yang dimulai dengan domain yang sangat terpercaya, seperti mesin pencari atau media sosial besar, sering mendapat skor sangat baik, meskipun filter tidak pernah melihat bagian tersembunyi dari tautan tersebut.
- Memanipulasi cara baca manusia. Orang yang berhati-hati telah belajar memeriksa nama domain sebelum mengklik. Menghadapi jenis tautan ini, pemeriksaan tersebut justru berbalik melawan mereka: mereka jelas melihat nama merek resmi tepat di awal alamat, lalu berhenti di situ, tanpa membaca lanjutannya.
Dengan demikian, cara ini memanfaatkan kepercayaan baik teknis (skor filter antispam) maupun manusiawi (refleks membaca), tanpa perlu meniru domain maupun server situs tepercaya.
Di balik layar: kode 301, 302, dan rantai pengalihan
Secara teknis, sebuah pengalihan terjadi dalam respons yang sangat singkat dari server ke browser. Server merespons dengan kode status HTTP, tanpa menampilkan halaman apa pun: 302 untuk pengalihan sementara, 301 untuk pengalihan permanen. Browser langsung patuh dan memuat alamat berikutnya, tanpa pengguna melihat apa pun terjadi.
Tidak ada yang menghalangi untuk merangkai beberapa pengalihan berturut-turut: domain A yang sangat terpercaya, ke domain B yang lebih sederhana dan rentan, lalu ke halaman phishing akhir. Setiap mata rantai tambahan semakin mengaburkan jejak dan mempersulit pekerjaan siapa pun yang ingin menelusuri asal tautan hanya dengan melihatnya.
Cara mengenali jebakan dan bereaksi
Metode yang benar adalah membaca alamat lengkap, dari kiri ke kanan, tanpa berhenti pada nama pertama yang dikenali. Sinyal yang perlu dicari sederhana: http:// atau https:// kedua yang tersembunyi lebih jauh di baris yang sama hampir selalu menandakan open redirect, sama seperti keberadaan parameter seperti ?q= atau ?url= tepat sebelumnya. Kewaspadaan ini sejalan dengan yang dibutuhkan untuk membaca nama domain yang menipu dengan cara lain, seperti huruf yang mirip: lihat panduan Punycode dan homograf.
Untuk memeriksa tujuan tanpa risiko apa pun, Anda bisa menempelkan alamat ke pemecah tautan (link resolver) daring, atau menjalankan perintah curl -I dari terminal: server akan merespons dengan kode pengalihan dan tujuan akhir, tanpa pernah memuat halaman di browser.
Ada dua laporan yang berguna, dan menyangkut dua pihak yang berbeda. Pertama, beri tahu perusahaan yang domainnya menjadi titik awal (misalnya melalui formulir keamanannya atau alamat khusus untuk kerentanan), agar mereka memperbaiki parameter yang tidak diverifikasi dalam kodenya. Kemudian, beri tahu penyedia hosting halaman tujuan, persis seperti untuk halaman phishing lainnya (lihat menemukan alamat abuse@ yang tepat pada penyedia hosting), karena merekalah yang bisa membuatnya menghilang.
Sebuah email yang berisi tautan semacam ini tetap saja merupakan email yang dikirim oleh server sungguhan, dengan jejaknya sendiri: lihat panduan Menganalisis phishing: dari pesan hingga infrastruktur. Dengan menempelkan email lengkap ke Baitback, alat ini sendiri akan menelusuri seluruh rantai pengalihan hingga halaman akhir, tanpa perlu mengklik atau membuka terminal.
- Open redirect adalah fitur sah yang disalahgunakan: situs awal itu asli, tujuannya belum tentu.
- Parameter yang perlu diwaspadai terlihat seperti
?q=,?url=,?redirect=,?dest=,?target=atau?next=. - Teknik ini mengelabui filter antispam, berkat reputasi domain pertama, sekaligus cara baca manusia, yang sering berhenti terlalu cepat.
- Kode 301 dan 302 memungkinkan rangkaian beberapa pengalihan tak terlihat sebelum sampai ke halaman jebakan.
- Anda harus membaca tautan secara utuh dan melaporkan baik situs awal (agar memperbaiki celah) maupun penyedia hosting halaman akhir.