𝗞𝗲𝗮𝗺𝗮𝗻𝗮𝗻 𝗟𝗼𝗴𝗶𝗻 𝗕𝗲𝗿𝘀𝗮𝗺𝗮𝗮𝗻

Login tanpa batas dapat menyembunyikan celah logika bisnis yang serius.

Seorang pengguna login di laptop. Beberapa detik kemudian, akun yang sama login di browser yang berbeda. Kemudian di perangkat seluler. Lalu di klien API. Semuanya berjalan dengan sempurna.

Ini tampak tidak masalah karena banyak aplikasi mendukung banyak perangkat. Namun Anda harus bertanya: Haruskah setiap aplikasi mengizinkan sesi tanpa batas?

Di beberapa sistem, sesi ganda adalah sebuah fitur. Di sistem lain, itu adalah celah yang digunakan penyerang untuk tetap tersembunyi. Ini adalah kerentanan logika bisnis. Kodenya bekerja sesuai rancangan, tetapi rancangannya sendiri lemah.

Perbedaannya: • Bug tradisional mengeksploitasi kesalahan pengodean. • Bug logika bisnis mengeksploitasi keputusan desain.

Bayangkan layanan streaming film. Jika satu langganan memungkinkan sepuluh orang menonton secara bersamaan, sistem login-nya bekerja. Namun aturan bisnisnya gagal.

Hal ini berlaku untuk perbankan, panel admin, dan produk SaaS.

Cara mengujinya:

Aplikasi dengan keamanan tinggi sering kali menerapkan aturan-aturan ini:

Jika penyerang mencuri kredensial, mereka dapat tetap login selamanya jika Anda mengizinkan sesi tanpa batas. Mereka tetap aktif sementara pengguna asli juga tetap aktif. Tidak ada satu pun dari mereka yang menyadari adanya penyusup.

Konteks adalah segalanya. Aplikasi yang membutuhkan banyak sesi:

Aplikasi yang membutuhkan kontrol ketat:

Cara memperbaikinya:

Jangan hanya mencari bug kode seperti SQL injection. Carilah celah antara apa yang dilakukan aplikasi Anda dan apa yang dibutuhkan bisnis Anda.

Tinjau kebijakan sesi Anda hari ini. Risiko terbesar Anda mungkin bukan kode yang rusak. Bisa jadi itu adalah logika yang rusak.

Sumber: https://dev.to/arashad_dodhiya_0e4bdba5a/concurrent-login-security-how-to-check-whether-multiple-sessions-are-allowed-1839