HanustaviraGA / o-semar

0 stars 0 forks source link

Session Hijacking #7

Closed VladRafli closed 2 years ago

VladRafli commented 2 years ago

Problem

Di kode yang tercantum, ketika user log out, sistem cuma meng-unset variabel session nya aja, tapi sessionnya sendiri belum di-destroy sehingga session masih dapat digunakan lagi oleh orang lain.

https://stackoverflow.com/questions/6483092/php-session-hijacking https://stackoverflow.com/questions/5081025/php-session-fixation-hijacking

Solusi:

Destroy sessionnya, supaya session-nya engga bisa dipake lagi.

Issue

VladRafli commented 2 years ago

Update

Kalo sessionnya engga di unset semua, nanti session dengan ID tertentu isi session kyk nama dll masih ada di server dan kemungkinan bisa dicuri datanya.

Terus kalo session nya engga di destroy nanti session nya masih ada tapi ga punya privilege (Karena ketika masuk ke dashboard, kita cek variabel session nya)

Solusinya adalah setiap session_start() bawahnya kasih session_regenerate_id() supaya id nya berubah setiap user logout dan login lagi

Terus setiap logout, session di session_unset() dan session_destoy().

Warning yang ada di https://www.php.net/manual/en/function.session-destroy.php itu kalo semisal ada user yang menggunakan session id yang sama harusnya.

VladRafli commented 2 years ago

Update

Solved, ada di commit https://github.com/HanustaviraGA/o-semar/commit/07c40e9dc7483704e77befc16ed234cd8616a3bb