Cookie HTTP adalah sepotong kecil informasi yang dikirimkan server ke browser web pengguna. Header Cookie menyimpan cookie HTTP yang sebelumnya dikirim oleh server web dengan header Set-Cookie Show
Cookie sesi dihapus saat browser dimatikan dan jika cookie bersifat permanen, cookie akan kedaluwarsa pada waktu yang ditentukan oleh Expires atau Max-Age Risiko skrip sisi klien mengakses cookie yang dilindungi dapat dikurangi dengan menyertakan bendera "HttpOnly" tambahan di header respons HTTP Set-Cookie Akibatnya, browser tidak akan mengungkapkan cookie kepada pihak ketiga meskipun terdapat cacat cross-site scripting (XSS) di aplikasi web Bagaimana cookie tanpa set bendera HttpOnly dieksploitasiSelama serangan skrip lintas situs, penyerang dapat dengan mudah mengakses cookie dan dengan menggunakan ini dia dapat membajak sesi korban Penyerang dapat mengambil informasi sensitif yang terkandung dalam cookie Cara memperbaiki cookie tanpa set bendera HttponlyTetapkan HTTPOnly pada cookie. Ini membantu mengurangi sebagian besar serangan XSS yang mencoba menangkap cookie dan kemungkinan membocorkan informasi sensitif atau memungkinkan penyerang menyamar sebagai pengguna Metode HTTP TRACE yang digabungkan dengan XSS dapat membaca cookie autentikasi, bahkan jika flag HttpOnly digunakan. Jadi pastikan metode HTTP TRACE dinonaktifkan Contoh menunjukkan respons HTTP dari server web dengan cookie yang disetel menggunakan header respons HTTP Set-cookie
Menggunakan. NET untuk mengatur HttpOnlySaat menyetel cookie secara manual, ada objek CookieOptions mudah yang dapat Anda gunakan untuk menyetel HttpOnly ke true Dalam file konfigurasi PHP (php. ini), cari session. pengaturan cookie_httponly dan atur ke True Jika Anda tidak memiliki akses ke konfigurasi PHP, Anda dapat mencoba menimpa pengaturan ini saat runtime _
Perangkat lunak menggunakan cookie untuk menyimpan informasi sensitif, tetapi cookie tidak ditandai dengan bendera HttpOnly Bendera HttpOnly mengarahkan browser yang kompatibel untuk mencegah skrip sisi klien mengakses cookie. Menyertakan bendera HttpOnly di header respons HTTP Set-Cookie membantu mengurangi risiko yang terkait dengan Cross-Site Scripting (XSS) di mana kode skrip penyerang mungkin mencoba membaca konten cookie dan mengekstraksi informasi yang diperoleh. Saat disetel, browser yang mendukung bendera tidak akan mengungkapkan konten cookie kepada pihak ketiga melalui skrip sisi klien yang dijalankan melalui XSS HubunganTabel ini menunjukkan kelemahan dan kategori tingkat tinggi yang terkait dengan kelemahan ini. Hubungan ini didefinisikan sebagai ChildOf, ParentOf, MemberOf dan memberikan wawasan ke item serupa yang mungkin ada di tingkat abstraksi yang lebih tinggi dan lebih rendah. Selain itu, hubungan seperti PeerOf dan CanAlsoBe ditentukan untuk menunjukkan kelemahan serupa yang mungkin ingin dijelajahi penggunaRelevan dengan tampilan “Research Concepts” (CWE-1000)NatureTypeIDNameChildOf Class - kelemahan yang dideskripsikan dengan cara yang sangat abstrak, biasanya terlepas dari bahasa atau teknologi tertentu. Lebih spesifik daripada Kelemahan Pilar, tetapi lebih umum daripada Kelemahan Dasar. Kelemahan tingkat kelas biasanya menggambarkan masalah dalam 1 atau 2 dimensi berikut. perilaku, properti, dan sumber daya. 732 Penetapan Izin yang Salah untuk Sumber Daya PentingDetail Latar BelakangCookie HTTP adalah sepotong kecil data yang diatribusikan ke situs web tertentu dan disimpan di komputer pengguna oleh browser web pengguna. Data ini dapat dimanfaatkan untuk berbagai tujuan termasuk menyimpan informasi yang dimasukkan ke kolom formulir, merekam aktivitas pengguna, dan untuk tujuan autentikasi. Cookie yang digunakan untuk menyimpan atau merekam informasi yang dihasilkan oleh pengguna diakses dan dimodifikasi oleh kode skrip yang disematkan di halaman web. Sementara cookie yang digunakan untuk autentikasi dibuat oleh server situs web dan dikirim ke pengguna untuk dilampirkan pada permintaan di masa mendatang. Cookie autentikasi ini seringkali tidak dimaksudkan untuk diakses oleh halaman web yang dikirim ke pengguna, dan sebagai gantinya hanya dilampirkan ke permintaan di masa mendatang untuk memverifikasi detail autentikasi Mode PendahuluanBerbagai Mode Pengenalan memberikan informasi tentang bagaimana dan kapan kelemahan ini dapat diperkenalkan. Fase mengidentifikasi suatu titik dalam siklus hidup di mana pengenalan dapat terjadi, sedangkan Catatan memberikan skenario tipikal yang terkait dengan pengenalan selama fase tertentu. FaseCatatanImplementasiArsitektur dan DesainBahasa Kelas. Bukan Bahasa Khusus (Prevalensi Tidak Ditentukan) Teknologi Kelas. Berbasis Web (Prevalensi Tidak Ditentukan) Konsekuensi UmumTabel ini menentukan konsekuensi individu yang berbeda terkait dengan kelemahan. Scope mengidentifikasi area keamanan aplikasi yang dilanggar, sedangkan Impact menjelaskan dampak teknis negatif yang muncul jika musuh berhasil mengeksploitasi kelemahan tersebut. Kemungkinan memberikan informasi tentang seberapa besar kemungkinan konsekuensi spesifik diharapkan terlihat relatif terhadap konsekuensi lain dalam daftar. Sebagai contoh, kemungkinan besar kelemahan akan dieksploitasi untuk mencapai dampak tertentu, tetapi kemungkinan kecil kelemahan akan dieksploitasi untuk mencapai dampak yang berbeda. ScopeImpactLikelihoodKerahasiaanDampak Teknis. Baca Data Aplikasi Jika bendera HttpOnly tidak disetel, maka informasi sensitif yang disimpan dalam cookie dapat diekspos ke pihak yang tidak diinginkan IntegritasDampak Teknis. Dapatkan Hak Istimewa atau Asumsikan Identitas Jika cookie yang dimaksud adalah cookie autentikasi, maka tidak menyetel bendera HttpOnly memungkinkan musuh untuk mencuri data autentikasi (mis. g. , ID sesi) dan menggunakan identitas pengguna Kemungkinan EksploitasiContoh DemonstrasiContoh 1 Dalam contoh ini, cookie digunakan untuk menyimpan ID sesi untuk interaksi klien dengan situs web. Tujuannya agar cookie akan dikirim ke situs web dengan setiap permintaan yang dibuat oleh klien Cuplikan kode di bawah membuat cookie baru untuk menyimpan ID sesi String sessionID = generateSessionId(); Bendera HttpOnly tidak disetel untuk cookie. Penyerang yang dapat melakukan XSS dapat memasukkan skrip berbahaya seperti Contoh Bahasa. JavaScript dokumen. tulis('' Saat klien memuat dan menjalankan skrip ini, klien membuat permintaan ke situs web yang dikontrol penyerang. Penyerang kemudian dapat mencatat permintaan dan mencuri cookie Untuk mengurangi risiko, gunakan metode setHttpOnly(true). String sessionID = generateSessionId(); Keterangan Referensi CMS yang ditulis dengan Python tidak menyertakan flag HTTPOnly di header Set-Cookie, memungkinkan penyerang jarak jauh untuk mendapatkan informasi yang berpotensi sensitif melalui akses skrip ke cookie ini Alat untuk mengelola komunikasi terenkripsi tidak menggunakan bendera HttpOnly Mitigasi PotensialFase. Penerapan Manfaatkan flag HttpOnly saat menyetel cookie sensitif sebagai respons Catatan. Meskipun mitigasi ini efektif untuk melindungi cookie dari mesin scripting browser sendiri, komponen atau plugin pihak ketiga mungkin memiliki mesin sendiri yang mengizinkan akses ke cookie. Penyerang mungkin juga dapat menggunakan XMLHTTPResponse untuk membaca header secara langsung dan mendapatkan cookie Apa itu cookie sesi tanpa bendera aman?Cookie telah disetel tanpa secure flag, artinya cookie dapat diakses melalui koneksi yang tidak terenkripsi .
Haruskah semua cookie memiliki bendera aman?Bahkan aplikasi yang beroperasi melalui koneksi SSL harus memiliki flag aman yang ditetapkan pada cookie —khususnya cookie yang berisi data sesi, sebagai perlindungan minimal terhadap serangan.
Apa itu cookie tanpa set flag HttpOnly?Jika bendera HttpOnly tidak disetel, maka informasi sensitif yang disimpan dalam cookie dapat diekspos ke pihak yang tidak diinginkan . Jika cookie yang dimaksud adalah cookie autentikasi, maka tidak menyetel bendera HttpOnly memungkinkan musuh untuk mencuri data autentikasi (mis. g. , ID sesi) dan menggunakan identitas pengguna.
Mengapa kuki harus memiliki bendera aman?Atribut aman adalah opsi yang dapat diatur oleh server aplikasi saat mengirim cookie baru ke pengguna dalam Respons HTTP. Tujuan dari atribut secure adalah untuk mencegah cookie diamati oleh pihak yang tidak berwenang karena pengiriman cookie dalam teks yang jelas . |