Posted by on 01/05/2017

Sebelumnya saya baru tau kalo halaman admin login dapat dibypass dengan cara selain menggunakan perintah sql injection, nah disini saya mendapatkan bug entah baru atau tidak yang pasti dangerous, sangat berbahaya tentunya. Yaitu dengan cara menggunakan plugin pada browser mozilla firefox dengan nama NoRedirect. Silahkan didownload untuk membuktikan kebenaran dan sekaligus praktek.

Cara Perbaiki Bug PHP header() NoRedirect

Cara kerja plugin NoRedirect sendiri yaitu dengan menghentikan fungsi redirect pada php seperti header() dan lain sebagainya. Sudah saya coba sendiri dari aplikasi yang saya buat ternyata benar adanya dapat masuk kedalam halaman admin tanpa login terlebih dahulu itu karena fungsi headernya dimatikan oleh plugin NoRedirect sehingga halaman admin terlihat jelas begitu saja tanpa dapat berkutik apa-apa.

Nah disini saya mendapatkan caranya dengan eksperimen sendiri haha, ternyata bug ini merupakan murni kesalahan programmer yaitu dimana programmer membuat fungsi, jika session belum ada maka kembali ke halaman login namun setelah fungsi header() programmer lupa untuk menutup kembali halaman admin yang sudah dibuka walaupun pengunjung sudah diantar kembali kehalaman login.

Perhatikan potongan kode berikut ini.

session_start();
if(!isset($_SESSION[‘admin_login’])){
   header(‘Location: login’);
}

Kode diatas itu merupakan bagian dari halaman admin yang mana masih dapat dibypass dengan menggunakan plugin NoRedirect dengan cara menghentikan atau mematikan fungsi redirectnya.

Bila kode tersebut dibaca, pertama dia memulai penggunaan session pada halaman admin yang mana jika halaman admin belum mendapatkan atau session dari halaman login belum dibuat maka halaman admin akan mengembalikan ke halaman login tanpa menutup kembali halaman admin.

Nah untuk memperbaiki bug atau celah ini dengan cara menutup kembali halaman admin yang sebelumnya sudah dibuka dengan menggunakan fungsi exit() pada php. Coba perhatikan potongan kode berikut ini.

session_start();
if(!isset($_SESSION[‘admin_login’])){
   header(‘Location: login’);
   exit();
}

Penggunaan fungsi tersebut yaitu bertujuan untuk menutup halaman admin yang telah terbuka walaupun nantinya yang membuka akan diantarkan kembali ke halaman login jika tidak memiliki izin yang sah.

Walaupun fungsi redirect berhenti atau mati namun dengan menambahkan fungsi exit tersebut halaman admin tidak akan terlihat isinya melainkan blank putih saja.

Dengan begitu cara memperbaiki bug noredirect ini sudah selesai sampai disini, kurang lebihnya mohon maaf, terimakasih.

Posted in: Security

Comments

Be the first to comment.

Leave a Reply


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*