WEB21 / BELAJAR DAN MENCOBA
IDOR: objek milik siapa
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Isi pelajaran ini
Kita belajar apa?
IDOR terjadi ketika program memberi objek milik orang lain tanpa memeriksa izin. Di lab, kamu selalu berperan sebagai Alice. Mengganti nomor catatan tidak boleh membuatmu boleh membaca catatan Bob.
Bayangkan seperti ini
Mengetahui nomor loker teman tidak memberi izin membuka lokernya.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
- vulnerable
- mode lab yang sengaja dibuat memiliki kesalahan untuk latihan
Penjelasan tambahan jika kamu ingin tahu lebih jauh
IDOR adalah kegagalan memeriksa hak akses terhadap objek yang dirujuk pengguna. ID yang sulit ditebak hanya mengurangi penemuan, bukan memberi otorisasi. Lab menetapkan aktor Alice di sisi server, sehingga perubahan parameter id tidak boleh mengubah aktor.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
- Unduh dan ekstrak ZIP lab dari halaman Perlengkapan ke komputer sendiri.
- Buka terminal di folder lab. Jalankan
python lab_web.py --enable-local-training. Gunakanpyataupython3jika itu nama Python pada perangkatmu. - Biarkan terminal tetap terbuka. Buka browser dan tulis
http://127.0.0.1:8765/pada bilah alamat di atas, lalu Enter. - Jika langkah menyebut
/noteatau nama halaman lain, tambahkan ke alamat lab. Contoh:http://127.0.0.1:8765/note?mode=fixed&id=1. Pilih mode lewat kotak pilihan jika tersedia. - Sesudah selesai, kembali ke terminal dan tekan Ctrl+C untuk menghentikan lab.
Langkah latihan
- Buka /note?mode=vulnerable&id=1.
- Catat bahwa isinya milik Alice.
- Ganti hanya id=2 dan baca catatan Bob yang fiktif.
- Ulangi id=2 dengan mode=fixed.
- Bandingkan dengan fixed id=1 yang memang boleh dibaca.
Hasil yang diharapkan
Vulnerable membocorkan catatan Bob. Fixed menolak id=2 dengan 403 tetapi tetap mengizinkan id=1.
Bandingkan dengan hasilmu sendiri. Jika berbeda, tulis apa yang terlihat lalu baca bagian bantuan di bawah. Jangan mengaku berhasil jika langkahnya belum kamu coba.
Jika terhambat
Berhenti sebentar dan baca pesan yang muncul. Periksa nama file, folder, alamat, dan apakah program latihan masih berjalan. Ulangi satu langkah saja. Jika tetap bingung, minta bantuan guru atau pendamping; jangan mematikan keamanan perangkat.
Petunjuk khusus untuk pelajaran ini
Jika id=999 hasilnya 404, itu objek tidak ada; bukan bukti kontrol kepemilikan.
Apa yang perlu kamu catat?
Tulis langkah yang kamu lakukan dan hasil yang benar-benar terlihat. Tambahkan satu kalimat: “Saya belajar bahwa …”. Untuk latihan menggambar, simpan gambar dan jawabanmu.
Cek pemahamanmu
Mengapa mengganti id=1 menjadi id=2 tidak boleh mengubah identitas aktor?
Buka pembahasan
ID memilih objek, bukan identitas. Aktor harus berasal dari konteks tepercaya di server dan hak terhadap objek harus dicek.
Tantangan mandiri
Tulis dampak sebagai akses baca lintas pemilik pada data fiktif, tanpa klaim perubahan data.
Pedoman penilaian tantangan
Jawaban harus sesuai hasil aktual, menyebut batas kesimpulan, dan tidak keluar scope. Gunakan langkah serta hasil harapan pelajaran sebagai pembanding; nilai 0 bila belum ada, 1 bila sebagian, 2 bila jelas dan dapat ditinjau.
Perbaikan & retest
Periksa hak aktor terhadap objek di server pada setiap operasi.
