(Jika ada kekeliruan, saya terbuka untuk koreksi dan diskusi lebih lanjut.)

Serangan ini terjadi pada tanggal 6 Maret yang lalu. Di sini tidak dibahas bagaimana email bisa dikirim dan siapa pelakunya, melainkan alur yang terjadi ketika seorang korban masuk ke permainannya.

Secara garis besar ada dua proses utama:
- Verifikasi kredensial korban
- Pengiriman data kredensial ke pelaku (dilakukan jika kredensial dikatakan valid oleh proses pertama)
Verifikasi Kredensial Korban#
Ketika korban mengisi form pada halaman palsu (dalam diagram diberi kode FE), data email dan password akan dikirim ke endpoint /api/login. Endpoint ini kemudian meneruskan data ke endpoint login milik universitas dan menentukan apakah kredensial yang didapat dari FE valid atau tidak berdasarkan response dari endpoint login universitas. Berikut contoh respons yang dikembalikan oleh endpoint /api/login kepada FE.


Yang menarik di sini adalah bagaimana /api/login menentukan validitas kredensial: API login universitas selalu mengembalikan status code 200 bahkan ketika autentikasi gagal, sehingga /api/login tidak bisa bergantung pada kode status. Sebagai gantinya, /api/login menentukan validitas berdasarkan pesan error di dalam body respons.
Cukup cerdik, namun menjadi masalah ketika pihak universitas menambahkan fitur captcha pada halaman login. Karena request yang dikirimkan oleh /api/login tidak menyertakan captcha, respons error dari API login universitas akan menunjukkan masalah terkait captcha. Berdasarkan algoritma di atas, respons dari /api/login ke FE akan selalu bertipe success ketika fitur captcha diterapkan, meskipun data dari FE tidak valid.
Pengiriman Data Kredensial Korban ke Pelaku#
Pengiriman data hanya dilakukan ketika kredensial dianggap valid oleh /api/login. Pengiriman ini dilakukan melalui bot Telegram; data yang dikirim berisi username, password, dan alamat IP korban.

Setelah pengiriman data ke Telegram pelaku berhasil, korban diarahkan ulang ke halaman login email milik universitas—mungkin pelaku berharap pengguna akan login seperti biasa dan tidak merasa curiga. Skema di atas relatif “bersih”: pelaku (seharusnya) hanya menerima kredensial yang terbukti valid. Namun pada praktiknya akun Telegram pelaku justru kena spam 🤣
Ada banyak pertanyaan menarik untuk digali lebih jauh, misalnya: mengapa targetnya akun mahasiswa? Apa yang ingin difarming pelaku? Apakah target sebenarnya lebih besar dari sekadar akun mahasiswa? Pertanyaan-pertanyaan ini belum terjawab, jadi tidak dibahas di sini 😅

