PENTING!!!


Rukun Iman terdiri dari enam perkara: (1) Iman kepada Allah. (2) Iman kepada malaikat-malaikat Allah. (3) Iman kepada kitab-kitab Allah. (4) Iman kepada rasul-rasul Allah. (5) Iman kepada hari kiamat. (6) Iman kepada Qada dan Qadar.

Rukun Islam terdiri dari lima perkara: (1) Mengucap dua kalimat syahadat. (2) Menunaikan shalat lima waktu. (3) Mengeluarkan zakat. (4) Berpuasa pada bulan Ramadan. (5) Menunaikan Haji bagi mereka yang mampu.

Memahami Cookies

Begitu banyak tutorial hacking yang menjelaskan tentang XSS, SQLi dan sejenisnya, tapi saya lihat hanya sedikit artikel yang menjelaskan tentang cookie sebagai salah satu media dan juga resiko keamanan. 

Disini saya akan membahas mengenai apa itu cookie, bagaimana cookie digunakan, apa saja resiko yang dapat ditimbukan dan bagaimana memanfaatkanya.

Saat anda, sebagai mahasiswa suatu perguruaan tinggi ingin mengajukan beasiswa anda akan dimintai surat keterangan sebagai mahasiswa aktif di perguruan tinggi tersebut sebagai salah satu syarat untuk mendapatkan beasiswa. Surat keterangan itu berisi nama, nomor mahasiswa, jurusan dan lain-lain yang semuanya anda isi sendiri kemudian surat itu diberikan kepada lembaga tertentu di perguruan tinggi tersebut untuk dicek kebenarannya. Jika data yang anda isikan benar, surat tersebut akan dinyatakan sah dengan ditandatangani oleh pihak yang bersangkutan dan diberikan stempel perguruan tinggi.
Seperti itulah cookie bekerja, memberikan informasi sistem anda ke situs yang dibuka untuk disahkan dan selanjutnya anda dapat menikmati layanan situs tersebut, memberikan data username dan password yang terenkripsi, memberitahukan siapa yang me-referred anda ke situs itu, dan hampir semua informasi yang admin butuhkan untuk memberikan layanan kepada user.

Cookies paling sering digunakan untuk memberikan kepada anda akses ke halaman yang menggunakan login setelah anda memasukan informasi yang disetujui, untuk mengidentifikasi apakah ada memiliki akses untuk mengubah informasi yang ada di website (misalnya posting di forum atau memberikan komentar pada artikel), untuk memberikan informasi bagaimana anda memasuki situs tersebut dan sebagainya. Perlu  diingat bahwa cookie akan berfungsi sebagai penulis yang menulis fungsinya sendiri, ini terdengar sederhana, jelas, tapi tidak boleh diabaikan. Nanti anda akan tahu "kenapa".

Apa Akibatnya Jika Cookie Dimanipulasi?

Cookies yang tidak aman dapat diubah, sehingga attacker (sebenarnya tidak memiliki akases) dapat memasuki halaman yang diproteksi, mengubah user-id-nya sama seperti user-id user yang memiliki akses, dll. Sampai disini yang saya sampaikan hanyalah teori, jadi bagaimana penerapanya dalam dunia nyata?

Saat itu saya menguji sebuah website yang saya rasa adminya hanya memiliki sedikit pengetahuan tentang security. Begini cara kerja website tersebut:

Ketika user login, situs akan memeriksa kombinasi username dan password yang digunakan. Jika kombinasinya sesuai, maka situs akan memberikan sebuah cookie kepada user tersebut yang mengandung user id-nya (contoh: 12345) untuk mengidentifikasi user selama dia masih dalam keadaan login, username-nya akan ditampilkan dalam situs tersebut (misal: BlackID) dan beberapa informasi-informasi lain seperti waktu, referrer, dll. Seperti yang saya sebutkan, situs tersebut hanya akan menggunakan cookie yang diberikan oleh admin.

Saya rasa anda sudah tahu apa yang akan terjadi jika cookie yang diberikan oleh admin tersebut tidak aman. Tapi jika anda tidak tahu maka sebentar lagi ada akan tahu apa yang mungkin terjadi.

Lanjut, tidak lama setelah melihat isi cookie-nya saya paham bagaimana situs ini menggunakanya, saya tahu maksudnya. Kemudian hal pertama yang saya lakukan adalah bermain-main dengan mengubah nilai username saya. Tentu saja ketika saya membuat komentar di salah satu postingnya, nama si pembuat komentar adalah username yang saya ubah sendiri dalam cookie. Menyenangkan bukan? tapi hal itu tidak begitu berguna kecuali saya ingin menggunakanya untuk melakukan phishing ataupun soceng.
Tidak ada tujuan dalam tes ini, saya hanya mencatatnya dalam catatan saya lalu melanjutkannya.

Bagaimana dengan user id yang sebenarnya? Seperti yang saya katakan sebelumnya, situs ini hanya satu kali memeriksa kombinasi username dan password yang valid saat user melakukan login dan mendapatkan cookie. Selanjutnya cookie tersebutlah yang saat itu sampai habis sesinya (logout) mewakili user. Maksudnya, siapapun yang mengakses situs tersebut dengan menggunakan/membawa cookie user lain (korban), maka dia akan dianggap sebagai korban.

Hal ini yang memungkinkan bagi para attacker mendapat akses terhadap account milik user lain maupun admin. Tentu saja seperti saat saya mengubah user id, saat itu juga saya berubah menjadi user yang user id-nya saya gunakan.

Klimaks: username yang id-nya saya gunakan tidak berubah karena disimpan terpisah seperti yang saya sebutkan sebelumnya, hanya user info, preferensi, dll yang berubah ketika saya menggunakan user-id yang berbeda. Saat itu saya berasumsi bahwa user id bukanlah nomor acak ataupun enkripsi melainkan urutan pendaftaran user di situs tersebut dan angkanya melambangkan jumlah user. Tanpa pikir panjang saya langsung mencoba menjadi admin dengan menggunakan user id mulai dari 1 dengan terus menambah angka 0 dibelakangnya (misal: 1, 01, 001, 0001, 00001, dst). setelah beberapa menit mencoba akhirnya saya berhasil login sebagai admin situs tersebut.

Jadi sekarang anda tahu kan betapa dahsyatnya memanipulasi cookie? bahkan anda dapat menjadi admin tanpa perlu mengetahui username dan passwordnya. Cookie dapat sangat berguna apabila digunakan dengan benar tepat oleh admin yang mengerti, tapi attacker dapat dengan mudah meng-exploit-nya ketika cookie berada ditangan admin kurang berpengalaman.

Saat ini mungkin anda bertanya-tanya bagaimana cara memodifikasi cookie. Ada banyak cara untuk itu seperti javascript injection dan yang paling mudah dengan menggunakan addons  Firefox. Saran:

Firebug: https://addons.mozilla.org/en-US/firefox/addon/1843
Firecookie: https://addons.mozilla.org/en-US/firefox/addon/6683

0 komentar:

Post a Comment